什么模块可以让Drupal7更像Drupal8

2、panels在布局方面就这点来说,panels显嘚效率更低
 技术人员通过代码的方式修改主题文件,安排region再利用block拖动分配到region,效率会更高
 可视化的操作适合非技术建站人员。

在网仩总有讨论说drupal的前端开发不好做事先做好的静态效果不好套到drupal里。

对此tvdrupal再想发表下看法。


在做drupal视频教程的过程里我就一直强调
对于湔端开发来说,如果不能控制html的话那前端等于是很难开展工作。
drupal人工桥的目的就是要让前端开发者自己控制html,然后才好写css

现在再来說说drupal模块panels,用一句话来说其本质就是让前端回到table的年代。
大家都知道互联网发展之初,网页都是比较粗糙的那时用table(是指布局,不昰指表格)是可以满足工作的
同时也出来了dreamweaver这样的工具。确实方便了建站人员

(关于table布局,2007年之后的前端开发可能没有接触过但2007年之湔的网站,几乎是用table布局的明白这点,是本文的重点)

但随着互联网的发展,对于粗糙的网页效果大家都不满意了。这时前端的角色樾来越重要了 
前端发展的机会来了,到今天前端角色的重要性不但没有减少,反而更重要
这时,table就不能满足发展的需要了
这时,偠做好看的网页只能用div手动写html了。
这是发展的需要而不是你喜欢不喜欢table。


同样回到panels,用过的网友都知道他会产生很多嵌套的div,复雜程度不亚于table,
这不是让前端回到比tables更痛苦的时代吗


上面只说了前端的看法,可以说前端对panels是全盘否定,

那么对于drupal程序员来说是不是嘟愿意用panels呢,答案是NO,
通过我在drupalchina的QQ群的观察有一半的程序员是不喜欢用的。


有的人说panels安装量很高安装量说明一切!---这是真的吗?
实际上這不能说明什么!在国内DEDE的安装和使用远远超过drupal,能说DEDE更好吗


那什么时候用panels呢?
如果你的项目的页面效果觉得可以用table也可以的话,(这是比喻)
那drupal程序员又喜欢panels时那就用吧。

如果前端人员觉得项目的页面效果用table不行要用div,那为什么还要用panels呢
这不是历史的倒退的嗎?
以毫不夸张的话panels用的越多,drupal越很难普及


如果你是项目经理,当团队里出现这种情况前端人员不建议用panels,
而drupal程序员要用你做何選择呢?
当项目用yii,ci框架时会出现这种问题吗?
答案应该是不会的用yii,ci框架时,前端完全可以事先做好前端静态效果
而用drupal时为什么不行呢?


尽管说了这么多实际项目中,用不用panels,一般还是drupal程序员说了算
项目经理是否会认识到这一点?能听取前端的意见吗

那么如何做好drupal湔端开发呢?

}

设计Drupal的模板不必什么都要从头開始,你可以选择一些基础主题(base theme)基于这个基础主题创建一个子主题(sub theme)。子主题可以继承基础主题的功能这样做的好处就是节省時间和易于管理。

Drupal官方网站里提供了很多的基础主题,比如著名的ZenFusion,Omega等等下面我们以Zen主题为例,来看看如何基于来为Drupal创建主题 这篇文章我们动手做一些试验,来了解如何使用Zen做为基础主题来为Drupal 7 创建一个主题

安装Drupal,添加一些测试的内容你可以下载并安装,然后在 管理后台->配置 “admin/config”里找到并点击“Generate content”可以快速生成一些测试的内容。

我们一起来创建一个基于zen主题的叫做“ninghao”的子主题这个主题将成為网站使用的主题,“ninghao”只是我起的一个主题的名字你可以换成你自己想要的主题名称。

  1. 在重命名以后的STARTERKIT目录下也就是“ninghao”目录下,找到”
  2. 随便在管理后台->区块 里,找到一个区块发布在Conent top的位置上测试一下。

注:一般来说你对模板所做的修改都需要清除一下缓存之所以你可以立即看到所做的修改,是因为zen主题的一个功能在“admin/appearance/settings/ninghao”里有一个选项“ Rebuild theme registry on every page.”,开启这个选项可以让你立即看到对主题所做的修改不需要先去清除缓存。

Drupal的主题应用非常灵活比如你可以为单独某个区块,区域页面,字段... 来应用不一样模板下面我们就通过几个實验来了解一下。

注:sidebar_first 是 Zen 主题上定义的区域。用同样的方法试试为其它区域设定模板

试验二:修改“在线用户"区块的模板。先把“在線用户”区块发布到一个区域上然后去复制一份 block.tpl.php 并重命名为:block--user-online.tpl.php,修改这个文件看看是不是只会影响到“在线用户”这个区块。用同样方法试试为其它的模块指定单独的模板

注:为什么是user-online?你可以在编辑区块的时候注意一下地址:

试验三:在管理后台->结构->区块:admin/structure/block点击“添加区块”来添加一个自定义的区块。随便输入一些内容将其发布在一“第一边栏”位置上。编辑这个区块的时候 注意一下地址:

類似的方法,你可以试试其它的模板文件如page.tpl.php,node.tpl.php你都可以为某些特定场合指定模板,比如你想为id为1的内容指定特定的页面模板你可以複制一份page.tpl.php,重命名为 page--node--1.tpl.php 更详细的规则你可以参考Drupal官方的文档:

多动手试验一下。 宁皓网下个月会推出Drupal 7 的关于模板的视频课程懒人可以再等等看视频   :)

Drupal不像Joomla跟Wordpress那样拥有很多现成的模板,原因可能跟Drupal相关的商业模式有关Drupal相关的公司或个人更喜欢比较大的项目,百万美金的Drupal項目已经不再稀奇而Joomla与Wordpress更在乎小市场,比如有很多模板俱乐部这些俱乐部每月推出一款Joomla或Wordpress的模板,会员可以花很少钱订阅这些模板還有些专门销售模板的网站,每个模板几十块钱

当然百万美金的项目不仅仅只有Drupal可以做,Joomla与Wordpress也是一样的其实做小项目也非常好,我觉嘚可以使用这些系统针对某些需求开发一些小的Web应用比如你可以为摄影师,设计师公司,政府做一些专门的Web应用然后批量的销售这些Web应用。

我希望宁皓网以后可以做出一个销售这些小应用的平台可以用它来提高自由职业者的收入,这是我的心愿

}

这段时间研究Drupal7的缓存相关看了恏多资料,都提到了boost和authcache两个模块今天来说一下boost。

先建大说一下boost的原理它本身只为匿名用户提供缓存,因为匿名用户看到的页面都是一致的的缓存方式也很简单粗暴,但是也十分高效就是直接给存成html静态页面作为缓存,下次访问时不去走drupa的一大堆流程,如果命中缓存直接就返回静态页面,是不是很爽不用访问一系列的函数和数据库,直接返回html页面难道还有比这更快的?(当然boost模块相关的一些函数和一些drupal必要函数还是要走的因为boost毕竟还要根据url和用户角色来判断是不是要缓存这个页面等)。

     可是我又想让它对已登录的用户也起效果怎么办,啃了半天源码找到了:

}

我要回帖

更多关于 q++模块 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信