主题引擎

主题引擎如何工作?

主题引擎帮助将程序员与设计者的任务区分开来。作为一个工具,PHPTemplate使网络程序员专注于业务逻辑而不用对内容的展示考虑过多。相反,网络设计人员可以全力以赴于制定布局和界面中的内容和项目的样式。开发人员和设计人员可以分离各自的任务,从而优化自己的工作。

对比之下,Drupal主题处理的其他方法则灵活度更小了。虽然可以不用主题引擎直接用PHP就能创建一个主题,但是这些纯PHP主题对那些不熟悉PHP程序语言的人说很困难。纯PHP主题难于译解,也更难于编码及预览。

利用主题引擎创建主题为处理动态网络应用提供了一个更具操作性的方法。每一个PHPTemplate主题文件包含一个HTML框架,里面填充着一些简单的包含有动态数据的PHP语句。主题文件链接至CSS文件,使动态数据可以轻松的得以格式化和样式化。而且,PHPTemplate为样式化你的站点提供了多种选择:使用单纯的CSS,或结合主题化函数,或创建专门的模板文件。

第3章:运用主题引擎

本章,我们将从总体上探究主题引擎,并详细研究Drupal的默认主题引擎PHPTemplate。

对PHPTemplate引擎的研究为掌握如何创建主题或进一步修改现有主题奠定了坚实基础。在下面的例子中,我们将展示:

  • 主题化过程中的关键文件
  • 这些文件是如何影响主题的
  • 这些主题文件间的优先次序
  • 除PHPTemplate之外的主题引擎

要理解本章内容虽不要求你熟练掌握PHP,但熟悉一点程序语言会使事情更加容易。本章中的演示代码都来自于Drupal中的默认主题Bluemarine和Garland。

什么是主题引擎

主题引擎是一组脚本和文件用来解析程序语言以及处理其里面的命令。当数据从数据库或者外部来源(如果有的话)抽取出来,主题引擎就将这些数据植入一种预定的格式中进行显示。

有几种比较常见的主题引擎,每一种都为解释不同的模板语言而设计。Drupal捆绑PHPTemplate一起发布。PHPTemplate受到欢迎有多种原因,绝不是因为它所依赖的语言是人们比较熟悉的老式的PHP——今天很多网络开发者的首选。


尽管PHPTemplate现与Drupal一起发布,从过去的情况看有一些其他的主题引擎也是能在Drupal系统安装并使用的。其中比较常见的几个有XTemplate、Smarty和PHPTal。随着Drupal 6的面世,PHPTemplate引擎与Drupal核心进一步实现了整合,老实说,很难找到很好的理由来从默认主题引擎之外去寻找其他的了。其他可选主题引擎在第3章有简要介绍。


 

什么是主题?

在Drupal中,“主题(theme)”是指负责网站外观界面的一套相互关联的文件。其他内容管理系统(CMS)采用其他名字来称呼它们——最常见的就是使用“模板(template)”一词。

从概念上讲,一个主题就是一个用来格式化数据并将数据显示到屏幕上来的可视化外壳。从它的组成部分来讲,一个主题就是一系列文件,这些文件负责把数据格式化到网站访问者和系统管理员可以看到的展示层来。简单讲:主题决定你站点的外观!

一个主题包含很多的文件都为网络设计师所熟悉,如样式表,图片和JavaScript。也包含一些文件它的后缀可能不很眼熟,如*.theme、*.tpl.php等,前者用于纯PHP主题,后者出现在那些使用PHPTemplate主题引擎的主题之中,该主题引擎与Drupal相伴而来,在后面的章节中,我们将要详细介绍主题引擎以及它们的文件。

在本书中,我们将使用”主题“来指负责显示信息到页面的文件集,用”模板“来指主题中的专门文件,即.tpl.php文件。

下面是Drupal官网提供的一些在线资源: