欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

覆写输出 - 入门指南(2) (翻译)

shiping1 的头像

覆写输出 - 入门指南(2) (翻译)

作者:文章管理 ON 

.

 

本文来源:http://viiiix.com/                                                   原作者:Viiiix7210

在上周的最后一篇文档中,我们了解了进行主题覆写之前需要做的一些评估,以及怎样进行主题函数覆写。

今天继续这个话题,来看看主题文件(theme file)的覆写,以及怎样定位页面输出的来源。

 

下面是覆写主题文件的典型步骤:

  1. 将需要覆写的系统原生主题文件复制粘贴至当前主题路径中。
  2. 对需要使用templage suggestion的模板文件进行重命名,例如将page.tpl.php复制一份并命名为“page-front.tpl.php”即可覆写首页输出。如果需要针对某个内容类型的节点页面进行覆写,可以将node.tpl.php文件复制一份并重命名为“node-my_content_type.tpl.php”。有关模板suggestion方面的话题,可以参考“Working with template suggestions”一文;将来我们会详细做这方面的内容。
  3. 修改文件代码,自定义HTML输出。
  4. 将新文件上传到Drupal站点的当前主题路径中。
  5. 刷新主题缓存。可参考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”功能用来查看与其输出相关的函数和模板文件。

查看英文原文: Beginners guide to overriding themable output

来自 http://www.joomladrupal.com/drupal-translate/drupal-document/373--2-

普通分类: