使用drupal与没有使用drupal,在网站的设计过程上本质是一样的!所以,我们在使用drupal建一个新网站时,要时刻联想自己在没有drupal时是如何设计开发的。

不使用drupal时,我们通常按如下步骤设计开发一个网站:

1.静态页面设计。主要包括主页、二级列表页、二级内容页三类页面,制作过程一般是:PS效果图->切图->HTML/CSS/JS静态页。通常一个优秀的美工/前端工程师,可以搞定这一切,比如我们的XiaoLu童鞋。

2.静态页面整理/页面布局整理——对代码进行切块、拆分。在自己开发时(如使用PHP或ASP.NET MVC技术开发),我们通常会将共享的代码拆分为小文件(或称PartialView、用户控件等),如banner、footer等html代码或共享的css、js代码拆分为一个个小文件,可供其它页面include使用。

在使用ASP.NET MVC技术开发时,我们会在视图中设计一个或多个_Layout页面,使得后续开发的页面可以套用这些_Layout页面。Layout-“布局”也,“框架”也,“母板”也,“模板”也!通常我们至少需要一个主页Layout、一个二级Layout。

备注:在纯静态页环境下,我们可以在页面中借助jquery技术(如$(”#divID”).load(”footer.html”))载入那些共享的html代码页。

一个理想的前端工程师也应该搞定本步骤中的一切,所以XiaoLu童鞋加油哦!

3.数据库表设计。将要动态发布的信息设计为数据表,比如新闻、图书信息、企业信息等,并先手工录入一些测试数据。(这里暂不考虑具有复杂业务流程的数据)

4.动态内容展示页面的编程。结合数据表,编程呈现新闻列表、新闻内容等动态内容展示页面。通常这些动态页都自动套用相应的_Layout“布局模板页”。

5.后台管理功能的编程。不是本文重点,在此不再赘述。

~~~~~~~~~~~~~~~~~~~~~~~~~

Drupal的优势即是高度抽象并替代了编程部分,不需要编程了!这与一些代码自动生成工具本质上没有区别,只不过它比那些工具在建网站这方面更全面、更出色!

从这个角度看,使用drupal建网站时,前面的第1、2、3步骤应是一样的(无限相近的),第4、5步骤则是在drupal后台配置即可实现的。

当然,结合drupal自身特点,我们归纳总结一下使用drupal建网站时的步骤:

1.静态页面设计。(同上)

2.静态页面整理/页面布局整理。(同上)

3.静态页面布局转化为drupal主题。通常基于zen主题制作子主题。如果第2步做得好,这一步会相对轻松!这一步实际上是drupal中的区域/区块的划分与设计过程,其与第2步是何其相似!

4.内容类型设计(实质等同于数据库表设计)。添加相应的内容类型,同时添加一些内容,等同于录入一些测试数据。

5.视图设计。Drupal中“视图”的概念与数据库中“视图”的概念是相似的,可以理解为对数据表中数据的List呈现。针对已添加的内容类型(数据表),分别添加相应的视图(数据视图),视图最终以区块的形式呈现到页面中。

6.区块设置。将视图区块,或者一些静态区块放置到合适的区域。

7.后台管理功能设置。配置并开放合适的账号给客户,用于管理发布内容。Drupal后台也有很多漂亮的第三方主题可供下载使用。后台管理功能暂不深入研究了。

备注:Drupal建网站详细过程参见《如何将普通网站转为Drupal网站》。

综上:

(1)第5、6、7步是替代人工编程的部分,特别是第5、6步其实质可以理解为代码自动生成工具。

(2)特别注意第2步一定要做到位,不要省略!不要有了静态页面就急着向drupal主题转化!

~~~~~~~~~~~~~~~~~~~~~~~~~

总结:

(1)拆分大问题。我们往往会忽略了第2步“静态页面整理”,然后觉得将一个静态网站转换为drupal主题太复杂了——问题之所以复杂,往往是因为实现过程的耦合度太高,步骤粒度太大,步子迈得太大,感觉上一团乱麻。如果把过程梳理得更清晰一些、更细致一些,步骤粒度小一些,可能问题就没有那么难以解决了。大问题总可以拆分为更小的两个问题,总可以这样拆分下去。如果面对问题感觉没有头绪,就去拆分问题吧!

(2)抽身看问题。钻进问题里,有时会看不清问题的本质,就象我们总想用drupal解决所有问题一样,被drupal强大、繁多的功能所迷惑,不可自拔。放下drupal,想一想没有它我们怎么做,然后有它我们该怎么做。诗云“不识庐山真面目,只缘身在此山中”,诗又云“不畏浮云遮望眼,只缘身在最高层”。如果能够抽身并站在庐山之上看庐山,自然能够看个清清楚楚、明明白白。

夏春涛

2014-07-31

drupal建站案例_Drupal建站过程思考——不识庐山真面目,只缘身在此山中相关推荐

  1. 建站案例 | 巧用科技蓝,打造有个性、高颜值的企业官网

    很多企业在搭建企业网站的时候,经常会烦恼该如何设计,才能让官网看起来显得高大上. 为了实现"高大上",企业可谓是费尽心思,参考借鉴了大量不同风格的网站,看着是博采众长,可最后呈现的 ...

  2. 自助建站有什么优势?建站宝盒“三站合一”火爆来袭!!

    自助建站有什么优势?建站宝盒"三站合一"火爆来袭!! 随着电子产品的普及,网络已经是众多网民的心理依赖,企业看中这点做起了网络营销,在网路上热销自己的产品,而不是仅仅局限于实体销售 ...

  3. python建站与java建站有何不同_详解模板建站和定制建站的不同之处

    很多新手在建站前,都拿不准到底是使用模板建站好,还是找外包团队定制开发好.这两种建站方法差异还是蛮大的,下面就给大家说说模板和定制的几个主要不同之处,你可以根据这些来判断适合自己的建站方式: 1.制作 ...

  4. 自助建站与智能建站有什么特点

    做站这么多年了,为客户做了不少网站,大的也做过小的也做过,根据二八规律来说,大部分是中小企业做站,这部分客户存在一个共同的问题,就是你如果给他们用纯开发做网站对他们来说成本较高,如果用那种开源代码来做 ...

  5. 建网站应该选择自己建站还是在线建站?

    一.什么是网站? 网上关于网站的定义很多,在此就不想重复了,简而言之网站就是创建者使用技术手段搭建,从而让访客可以通过域名访问并进行互动的互联网页面组合. 通常网站由四个部分组成: 1.域名: 也就是 ...

  6. 现在建网站你会选择自己建站还是在线建站平台?

    一.什么是网站? 网上关于网站的定义很多,在此就不想重复了,简而言之网站就是创建者使用技术手段搭建,从而让访客可以通过域名访问并进行互动的互联网页面组合. 通常网站由四个部分组成: 1.域名: 也就是 ...

  7. 仿站和模板建站的区别_为了SEO推广和安全稳定,他弃用¥17800定制网站,选用¥999模板建站?...

    7800不要了!心疼么?当然! 那为什么放弃高价定制的网站,而使用999元模板建站? 因为999元的网站可以让企业通过网络接到业务电话!还因为SEO排名.浏览器兼容.网站管理(可视化编辑).安全和升级 ...

  8. H5响应式建站、自助建站只要看懂这六点就够了

    H5响应式建站.自助建站只要看懂这六点就够了 什么?连楼下的外卖都有官网了?!你的公司却还派小卡片?这个时代没有一个属于自己的网站实在太不入流,但是五花八门的网页也是看的眼花缭乱.所以千万别以为只是有 ...

  9. php手机建站,PHP免费开源建站系统含手机站V1.7.6

    PHP免费开源建站系统含手机站V1.7.6,喜欢就下载吧. 正文: 苹果CMS视频分享程序是一套采用PHP+MYSQL环境下运行的完善而强大的快速建站系统. 经过近多年的开发经验和技术积累,苹果CMS ...

最新文章

  1. 一个令人心醉的谜题——DNA和RNA是如何演化出美妙的螺旋结构?
  2. 中国安防为何世界最强?中科院AI+安防报告,解密8大趋势和8大限制【附下载】| 智东西内参...
  3. Python中的常见特殊方法—— repr方法
  4. C++数据结构之顺序结构
  5. 主体ubuntu16.04,宿体virtualbox下的windows7的共享文件夹设置
  6. SAP Fiori 应用无法根据contact搜索的原因分析
  7. 【创业】创业团队的那些事(二)
  8. 关于他们回答的 怎样在桌面建一个python GUI的快捷方式 这个问题
  9. 人工智障学习笔记——机器学习(7)FM/FFM
  10. mingw64 下 java_Win7 64 配置MinGW,以及使用Eclipse
  11. AI科学计算领域的再突破,昇思MindSpore做“基石”的决心有多强?
  12. MAC上mmap()的参数问题
  13. 前端开发必备之MDN文档
  14. 广数系统u盘支持什么格式_数控车床编程导入u盘 数控车床u盘读不出来
  15. 谷粒商城学习笔记(一)
  16. Unity粒子特效UI层级问题
  17. 谷歌生物医学翻译软件_翻译器可翻译方言和文言文 超出谷歌微软的翻译软件能力...
  18. 【推荐】样本/数据一致性检验的方法
  19. js自执行函数前加个分号是什么意思?
  20. 自学PS-持续更新 共勉

热门文章

  1. Oracle收购DNS公司Dyn剑指云计算领头羊
  2. 金三银四来了!招聘网站如何通过邮件营销获取流量
  3. 浅析值得每一位运维人员深读的Linux云计算认识
  4. 结合vue和纯css实现动态流量小球
  5. python支付宝自动收能量_守护支付宝的财产,使用Python实现定时自动化收取蚂蚁森林能量...
  6. oracle 10 11crs,Solaris10(x86)构建Oracle10gRAC之--配置系统环境(1)
  7. 7_variable_scopearbitary_arguments
  8. jdbc链接数据库失败的问题
  9. [好书推荐]啊哈!算法
  10. 一文详解百度、谷歌、京东、腾讯在分布式网络训练下的联邦学习解决方案