Drupal文档教程翻译 - 模板主题文件概览(1)

logo-drupal-documentation本站原创编译,转载请给面子,尊重劳动果实,欢迎交流指正。

今天开始做Drupal文档的翻译,来自官方的Drupal Handbook;第一档呢就是模板主题指南(Theming Drupal 6 and 7),文档结构可以参见“Drupal文档教程翻译规划 100423”。从头开始,进入第一篇Overview of theme files啦。

虽然把这个概念叫做主题模板,但是所谓主题(Theme)模板(Template)在Drupal中还是有不同的指代的;主题是用来定义表现层的一套相关文件的集合,我们也可以在某个主题下创建一套或多套“子主题”或主题变体。我们来看看主题有怎样的文件结构。

对于主题来说,只有.info文件是必需的,但是通常情况下,每个主题都包含很多其他文件;下图展示了典型的主题及子主题中的文件结构:

drupal-theme-anatomy-0

挺好看的一张图,配色柔和,重点清晰;我们来依次了解一下每个文件的功能作用:

.info

唯一的绝对必需文件,包含了整个主题的元数据(meta data)样式表(CSS)脚本(JavaScript)区块位置定义等信息;这些信息都是必要的。有些相当于Joomla模板中的templateDetails.xml文件。

同时呢,主题的系统内部名称也是通过这个文件定义的。如果我们将.info文件命名为“drop.info”,那么在后台里面,系统就会将当前模板标识为“drop”。

需要注意的呢,是Drupal 6与5在.info文件方面有重要的区别,对于Drupal 5,该文件只用来做模块方面的事情。

template files(.tpl.php)

这些以.tpl.php为后缀的文件就是“模板”文件了,用来定义不同类型页面(page)或节点(node)等的xHTML和PHP的输出。有时呢它们还可以定义其他类型的数据,比如xml rss

每一个模板文件都负责一个可定制的输出部分,比较常用的一种手法是通过suggestions机制进行多模板文件自动匹配覆盖;这部分内容将来我们会说到。

几乎所有的模板文件都是由简单直接的xHTML标记与PHP变量构成,我们可以很方便的针对自己的输出需求进行编辑。和其他拥有模板覆盖机制的CMS相同,在Drupal系统中原生包含这些模板文件,而存在于当前主题文件夹中的模板文件即是用作模板输出覆盖的。

需要注意的是,主题注册机制(theme registry)会缓存主题的数据信息,每当我们添加或修改了主题文件或功能的时候都需要清空缓存;Zen主题会帮助我们在每次修改之后自动搞定这个问题,对主题开发工作很有帮助。

OK今天先到这里,明天继续有关template.php文件及子主题方面的话题。

译者:Viiiix7210

如需转载,请注明官方英文文档及本人译文的出处,谢谢。查看英文原文: Overview of theme files


收藏与分享

评论刷新

2010-04-27 15:20
为什么Drupal的模板和Jo omla相差那么远,是技术原因 还是商业原因?
2010-04-28 10:15
这个,他毕竟不是一家的东东,开 发人员的想法和思路不一样