建立Drupal的子主题-DON’T HACK THE CORE!

分类: 

最近一直在做Wordpress开发,不由得总是把Wordpress与Drupal做比较,这里我不评论二者孰好孰坏(其实都非常优秀),我说说他俩的一个共同点:子主题。

 

既然二者都运用了子主题的机制,说明开发网站主题用基于父主题建立子主题的方式必然有其优势,那么这里就谈谈为什么要建立子主题,和怎样正确的建立Drupal网站的子主题。

 

Don't hack the core!

 

对,不要修改核心!其实无论是drupal模块开发还是drupal主题开发,都是不能修改核心的,当然在主题里面,父主题就可以看作是主题的核心,比如我们经常把Zen主题作为我们的核心(父主题)。

 

Don't hack the core 的原因有一下几点:

 

  • 修改父主题(核心)后,很难进行新版本的更新。
  • 程序之间会有一些依赖关系,修改后可能会引起一些未知的bug。
  • 不安全,核心的代码会有遍布世界的安全专家保护他的安全性,而修改后则无保障。
  • 可怜一下与你搭档或者接替你工作的程序猿。

 

说完了为什么要建立子主题,下面说说怎样建立子主题,这里我们用Zen作为父主题来示例子主题的建立。

 

方法一:

 

https://www.drupal.org/project/zen

在Zen的项目地址下载Zen主题压缩包,解压到drupal网站的sites/all/themes目录下,拷贝Zen主题下的STARTERKIT目录到sites/all/themes目录下,修改STARTERKIT的名称为你的主题名并把其下的STARTERKIT.info.txt命名为 你的主题名.info,修改.info文件中的name,description等主题信息,这样一个基于Zen的Drupal子主题就创建好了。补充一下,在  .info 文件中有一行信息非常重要 "base theme  = zen" ,这行信息告诉Drupal我的这个主题的老爸是Zen。

 

 

方法二:

 

Drush way.作为drupaler,也许用了drush就没有回头路了,几行命令统统搞定。

 

  • drush dl zen   下载Zen
  • drush en zen  开启Zen
  • drush cc all    清除缓存
  • drush zen "Your theme name"    建立以"Your theme name"为主题名的Zen的子主题

 

更多用法可以参考此文https://www.drupal.org/node/2021609

 

先到这里,如有问题,可以留言交流。

分享到: