跳转到主要内容
东方龙马 提交于 13 July 2012

Drupal的主题目录中也包含一个“engines”目录,其中包含一个叫做PHPTemplate的主题引擎。主题引擎提供了一种方式用来分离主题化输出模板文件如同原始的PHP一样简单。使用PHPTemplate引擎的主要好处是,简化了从表现中分离逻辑。这对那些不熟悉PHP语言的人将大有作为,因为他们都能够在主要包含标记和打印变量的模板文件下工作。

虽然其他主题引擎如Smarty、XTemplate和PHPTal可能被使用,PHPTemplate是Drupal的默认主题引擎而且也是迄今为止Drupal主题用过的最流行的主题引擎(许多流行的贡献模块也在使用),所以在本章中我们将会包含该内容。当然,也可以做纯PHP的Drupal主题。例如,变色龙(Chameleon)主题就是一个纯PHP的主题,http://drupal.org/project/chameleon。想获知更多可用的主题引擎完整列表,请访问http://drupal.org/project/theme+engines。

东方龙马 提交于 13 July 2012

Drupal核心包含4个主题。它们将会在接下来的小节中介绍。

Bartik

Bartik是Drupal7的一位受欢迎的新成员,Drupal安装后将Bartik设为默认的面向用户的主题。这是一个干净、简单的主题,支持Color模块,较好地使用区域(见图15-1)。除了Drupal默认推荐的区域,Bartik还增加了7个区域,用于放置页脚和页脚分块的区块。

图15-1. Bartik是一个干净、简单的主题

Garland

Garland最初是在Drupal5中作为核心主题首次亮相。它是一个更复杂的主题,具有良好的color模块的支持(见图15-2)。它包含15个配色方案,并提供了一个选项,以固定或流动的布局之间切换。

东方龙马 提交于 13 July 2012

开始时,人们通常做的第一件事是到核心的“/themes”目录下,浏览主题中的文件以了解它的总体结构和目录。不幸的是,很多人开始时会错误地去直接定制核心的主题。不要犯这个错误!他们通常此后不久,就会碰到障碍和挫折。Drupal有一个庞大和多样化的用户群,而Drupal核心主题的主要目标是满足大众。

除了美学,核心主题要满足很多需求和不同的使用情况。有些主题支持Color模块,以使其方便让网站管理员改变用户界面的配色方案。这不是一件坏事,但是,它会在试图定制配色(colorized)主题时很容易造成混乱和令人沮丧,因为CSS是自动存储在主题目录外面的。核心主题,还必须有这样的功能,如果作为一个管理主题的话,他们必须支持双向文本;在一般情况下,它们不能偏离Drupal的默认区域和设置。

满足所有人并不简单,而Drupal核心主题恰恰肩负着这个重任。因此核心主题不能达到它本可以具有的灵活和尖端。大多数时候,你创建定制主题的目标和方法会有很大的不同。你将能够把重点放在编写你自己的前端或后端集中设计,定制标记,决定使用哪些CSS文件(如果有的话),和其他令人兴奋的决定。

东方龙马 提交于 13 July 2012

Jacine Luisi

 

Drupal的主题层,以及主题使用到的,是负责外观或者一个Drupal站点给人的感觉。你会发现一些有名的网站上优秀的主题都包含一些相同的元素,具有符合标准的XHTML标记,CSS和JavaScript。这些是如何组合在一起的?是什么如此特别,是什么让Drupal的主题如此灵活和强大呢?

Drupal主题可以依据你的需要,既可以很简单也可以很复杂。主题具有对每个页面几乎所有部分的最终的决定权和控制权。和Drupal本身一样,主题也很灵活、很强大。无可否认,充分利用Drupal的主题层意味着要克服一个相当陡峭的学习曲线,如果对引擎的内部机制不够理解的话,很容易在开始时犯一些错误。

在本章,你将学习一些关于Drupal主题层的基础知识。你将学习如何去定制和合理修改以及常见任务的最佳做法。您将用自己的方式在任何时间创建灵活和可持续定制的Drupal主题!下一章将在这个基础上创建更加深入复杂的Drupal主题。

本章和下一章的一些例子你可以在DGD7主题里找到。如果你想跟进的话,可以到这里https://github.com/jacine/dgd7去下载。

东方龙马 提交于 13 July 2012

第18,19和20章针对同一个问题,可以将它们看作是一个大的章节,其中涵盖了所有在你开始写自己的模块时应该了解的内容。

第21章介绍如何将Drupal6的模块升级到Drupal7,这也是学习模块开发的一种非常好的方法。

第22章提供了编写模块的另一种好方法—“粘贴代码”,或者为站点定制的模块,实现你无法通过配置来实现的功能。你可以不用先阅读之前的章节而直接阅读本章。

第23章介绍如何为你的模块编写测试代码,这是编写可靠且易扩展代码的重要一环。

第24章介绍了API模块的概念,并深入介绍了编写功能代码时所应用到的一些Drupal开发机制。

订阅