Drupal文档教程翻译 - 覆写输出 - 入门指南(2)
本站原创编译,转载请给面子,尊重劳动果实,欢迎交流指正。
各位早,继续Drupal文档中文翻译。在上周的最后一篇文档中,我们了解了进行主题覆写之前需要做的一些评估,以及怎样进行主题函数覆写。
今天继续这个话题,来看看主题文件(theme file)的覆写,以及怎样定位页面输出的来源。
下面是覆写主题文件的典型步骤:
- 将需要覆写的系统原生主题文件复制粘贴至当前主题路径中。
- 对需要使用templage suggestion的模板文件进行重命名,例如将page.tpl.php复制一份并命名为“page-front.tpl.php”即可覆写首页输出。如果需要针对某个内容类型的节点页面进行覆写,可以将node.tpl.php文件复制一份并重命名为“node-my_content_type.tpl.php”。有关模板suggestion方面的话题,可以参考“Working with template suggestions”一文;将来我们会详细做这方面的内容。
- 修改文件代码,自定义HTML输出。
- 将新文件上传到Drupal站点的当前主题路径中。
- 刷新主题缓存。可参考http://drupal.org/node/173880#theme-registry
接下来看下怎样定位页面输出来源的话题;无法定位输出来源的话,主题覆写也就无从谈起,你都不知道改哪。
页面元素的输出来源包括主题函数、模板预处理函数和主题模板文件三个方面。对于主题函数,我们要找的是那些函数名以“theme_”为前缀的函数,例如“theme_search”或“theme_aggregator_block_item”等。对于模板预处理函数,我们要找到的是那些函数名以“template_”为前缀的函数,如“template_preprocess_xyz”。对于模板文件,则是那些.tpl.php文件。
了解了需要定位的函数和文件类型,接下来我们需要找到正确的模块才好。模块们位于Drupal站点的“modules”、“sites/all/modules”或“sites/your_sub_dir/modules”等路径中,我们要寻找的主题函数或模板预处理函数通常位是在.module或.inc文件中定义的。要进一步定位代码的位置,我们可以通过页面输出中的id或class名称在这些文件中进行查找。
我们还可以使用Devel开发模块在页面前端直接进行定位,很方便。另外Views模块的后台UI界面中,针对每一个view都专门有一个“theme”功能用来查看与其输出相关的函数和模板文件。
译者:Viiiix7210
如需转载,请注明官方英文文档及本人译文的出处,谢谢。查看英文原文: Beginners guide to overriding themable output
| < Prev | Next > |
|---|
