Drupal文档教程翻译 - 覆写输出 - 覆写详解(4)
本站原创编译,转载请给面子,尊重劳动果实,欢迎交流指正。
各位早;睡的不是很好,说冷不冷说热不热的很昏。仍是Drupal文档中文翻译时间;继续函数与模板覆写的话题;函数覆写一类,今晨在地铁 上还昏天黑地的想到很多。亚健康梦幻立场。
举例说,theme_menu_local_tasks是一个简单的函数,用来输出那些主要和次级tab切换标签;在这里,主题hook就是 “menu_local_tasks”。要对该函数进行覆写,我们首先需要将函数名中的前缀“theme”修改为我们的主题名称或当前使用的主题引擎名称 (通常是phptemplate),推荐前者,可以避免与子主题中的函数命名产生冲突。
上面的截图说明Garland主题中,用来输出tab的函数是 phptemplate_menu_local_tasks(),使用的是主题引擎名称作为前缀。当我们基于Garland打造子主题时,需要将 phptemplate替换为子主题名。
将下面的代码添加到主题的 template.php文件中,清空缓存之后,该函数就会覆盖掉系统中的同函数输出了。
<?php
function mytheme_menu_local_tasks() {
$output = '';
if ($primary = menu_primary_local_tasks()) {
$output .= "<ol class=\"tabs primary\">\n". $primary ."</ol>\n";
}
if ($secondary = menu_secondary_local_tasks()) {
$output .= "<ol class=\"tabs secondary\">\n". $secondary ."</ol>\n";
}
return $output;
}
?>
记得将“mytheme”前缀修改为主题名称。在该函数中,我们可以随意打造输出来满足我们的欲求了。
在api.drupal.org中,我们可以查阅到全部的主题函数。明天来看模板覆写。
译者:Viiiix7210
如需转载,请注明官方英文文 档及本人译文的出处,谢谢。查看英文原文: About overriding themable output
| < Prev | Next > |
|---|
