Drupal 7中的Custom Taxonomy Term页面

时间:2011-06-22 12:55:30

标签: php drupal drupal-7 drupal-taxonomy

我正在尝试在Drupal 7中创建一个自定义的Taxonomy Term页面。我在templates文件夹中创建了一个页面 - taxonomy.tpl.php文件。该文件仅打印出一条消息。我现在尝试通过添加

来强制模板文件
function template_preprocess_page($variables) {
  if (arg(0) == 'taxonomy') {
    $variables['template_file'] = 'page--taxonomy-tpl';
  }
}

在我的template.php中,但它不起作用。你能帮助我吗?如果我让自定义页面工作,我如何用这个术语获取节点(在页面 - taxonomy.tpl.php)?提前谢谢。

4 个答案:

答案 0 :(得分:9)

尝试在template.php中使用它:

function template_preprocess_page(&$variables) {
  if (arg(0) == 'taxonomy') {
    $variables['theme_hook_suggestions'][] = 'page__taxonomy';
  }
}
  • 您需要通过引用传递$variables,因此请添加&在它之前
  • template_file已更改为Drupal 7中的theme_hook_suggestions
  • 您不需要模板建议中的-tpl,除非您希望它是文件名的一部分,例如“page - taxonomy-tpl.tpl.php”,我认为这不是什么你想要的。

有关详细信息,请查看template_preprocess_page()theme_get_suggestions()Working with template suggestions

答案 1 :(得分:3)

不确定这是否符合您的要求,但默认的D7视图之一 - 分类术语 - 模拟Drupal核心对分类/术语页面的处理。您可以启用它(它将自动替换Drupal的核心分类URL),然后使用Views的页面模板保留原始页面结构,所有块等(请参阅“高级”中的“主题信息”),随意执行任何操作和所有其他的花里胡哨......

答案 2 :(得分:0)

由于您使用的是 Drupal 7 ,因此您还可以创建文件名“taxnomy-term.tpl.php”并根据需要进行修改。

请参阅taxonomy-term.tpl.php

答案 3 :(得分:0)

可以使用hook_menu_alter()获取对分类术语页面的完全控制权。见https://drupal.stackexchange.com/questions/48420/theming-and-overriding-taxonomy-term-vocabulary-page/111194#111194