你现在的位置:首页 > PHP网站建设知识库 > Drupal > 正文

Drupal 定制 Web 站点的外观

Drupal 使用一个主题系统将内容和表示方式分隔开。可以使用 Drupal 中的各种主题引擎(theme engine) 对内容进行主题化。可以完全使用 PHP 编写主题,但是主题引擎提供了一个开发主题的框架,使用它可以节省时间。当前,Drupal 站点上提供了 PHPTemplate、XTemplate 和 Smarty 主题引擎。我们选用 PHPTemplate 引擎,因为它是默认引擎并以一致的方式跨逻辑层、模块和表示层使用 PHP。

标准主题函数

对于模块开发人员来说,理解核心主题代码如何搜索适当的主题方法是很重要的。编写模块的方式应该允许其他系统实现者将模块的内容结合到站点的外观和感觉中。Drupal 当前按照以下次序搜索三个构建主题化内容的 PHP 函数:

<theme name>_<content name> 
这个函数的名称由当前主题的名称和被主题化的内容的名称(即节点类型)组成。如果当前主题名为 ibc,而且我们要对内容 announcement 进行主题化,那么这个主题函数名就是 ibc_announcement。
<theme engine name>_<content name> 
这个函数的名称由当前主题引擎的名称和内容的名称组成。我们将使用 PHPtemplate 引擎,所以对于内容 announcement,这个主题函数名就是 phptemplate_announcement。
theme_<content name> 
这是最后一个函数,也是最简单的。如果要对内容 announcement 进行主题化,那么这个主题函数名就是 theme_announcement。
使用 Drupal 主题目录(themes directory) 中的文件集合来定义主题。Drupal 附带主题所需的文件,而且这些文件依赖于主题引擎。可以以许多方式对主题进行定制;我们将介绍我们如何修改数据的表示来获得 Web 站点所需的 xHTML 结构、样式和布局。