发表时间:八月 10 ↓ 有话想说
[Drupal模板制作手册-2]主题的解剖
phptemplate主题:
- .info (必需)
- 要Drupal看懂你的主题所需的所有东西就是这个 ”.info” 文件. Meta数据, 样式表, JavaScripts, 块区域 以及更多的东西都是定义在这里。其他文件都是可选的。主题的内部名字也在这个文件中定义。 例如,如果此文件被命名为”drop.info”,那么Drupal就会认为这个主题的名字是”drop”。 Drupal 5 以及更低版本用文件夹的名字作为主题名。主题的信息文件是在Drupal 6中才出现。Drupal5中, 只有模块才会使用.info文件。
- 模板文件 (.tpl.php)
- 这些模板文件用以产生xHTML 标签和php变量。 有时也可用于输出其他类型的数据——例如xml rss 。每一个.tpl.php文件处理一类特定的可以主题化的数据输出,某些情况下,它也可以通过模板建议来处理多个.tpl.php文件。这些文件是可选的,如果你的主题不包括任何这类文件,内容就会以默认样式输出。请尽量避免在这些文件中添加过多处理逻辑。大多数情况下,应该只包括xHTML 标签和纯粹而直接的PHP变量。在Drupal核心与模块的文件夹里也有很多这样的文件。 把它们复制到你的主题文件夹里会强制Drupal使用你的版本。注意:所谓主题注册表缓存了可用的主题数据的信息。要在你的主题中添加或删除模板文件或者主题函数,你需要重设主题注册表。
- template.php
- 所以的有条件的逻辑和内容输出的数据处理过程,都有一个template.php文件。 它并不是必须的, 但是为了保持.tpl.php文件的整洁,它可以作为 变量合并到.tpl.php文件的标记语言中之前 产生变量的预处理器 。自定义函数, 重写主题函数或者其他任何对原始输出的自定义都应该在这里完成。此文件必须以PHP的开始标记(<?php)打头,但是结束标记并非必需,并且我们建议您不要添加它。
- 子主题(sub-theme)
- 表面上,子主题的表现和其他主题一样。唯一的区别就在于它能够继承“父主题”的资源。要创建子主题,需要在.info文件里添加一个”base theme”(基础主题)条目。子主题就是从那儿继承父主题的资源。可以使用多重继承。也就是说,一个子主题可以声明为另一个主题的基础主题(base theme)。对于多重继承没有硬性限制。Drupal 5及更低版本要求子主题必须在父主题的子文件夹里。现在已经没有这样的限制了。
- 其他
- logo和截屏(screeshot)并非主题工作所必须,但我们建议你提供这两个文件,特别是当你想与他人分享这个主题时。Screenshots will show inside the theme administration page and the user account settings for selecting themes when the appropriate permissions are set. See the screenshot guidelines for more information.
- 要提供自定义的主题管理界面和设置,或者logo、搜索、站点宗旨(mission)之外的“特性”设置,可以添加一个”theme-settings.php” 文件。 这是一个高级功能。 更改相关信息请参考Advanced settings。
- 要启用色彩模块支持,包含”color.inc”的名为”color“的文件夹以及相应的css文档和图像文件就是必须的。
- 如果你打算以某个核心主题为基础开始工作,请使用子主题功能或者复制后重命名为你自己的文件夹。强烈建议你不要直接修改默认主题Garland或者Minnelli,因为这两个主题在系统安装和升级时会用到。
- 所以主题都应该安装在”sites/all/themes” 文件夹,与核心文件分开。阅读关于多站点支持的内容来了解在其他文件夹安装主题的情况。
© 笨活儿 允许转载,但请以链接形式保留出处。也欢迎您使用RSS订阅本博客。

十月 22, 2009 10:08 下午
多谢。正在学习猪跑的主题制作。学习ing……