不同的标签根据内容类型使用不同的模板文件?

时间:2011-03-10 05:39:36

标签: drupal drupal-6

我想根据内容类型使用分类页面模板?即,使用tpl.php的内容类型“story”下的标记,以及使用另一个tpl.php文件的内容页面下的标记。我该怎么办?谢谢。

2 个答案:

答案 0 :(得分:0)

ThemeKey模块可能会这样做。

(不确定它是否可以在相同条件下同时使用内容类型和分类术语;但我已经看到它在某些条件下使用了几次来更改模板/主题)

答案 1 :(得分:0)

在你主题的template.php中:

/**
 * Override or insert variables into the page templates.
 *
 * @param $vars
 *   An array of variables to pass to the theme template.
 */
function YOURTHEMENAME_preprocess_page(&$vars) {
  // ...
  $node = $vars['node'];
  if ($node && ($node->type=='story')) {
    foreach ($node->taxonomy as $term) { 
      if ($term->name == 'SOMETAG1') {
        $vars['template_files'][] = 'page-sometag1';
        break;
      }
      else if ($term->name == 'SOMETAG2') {
        $vars['template_files'][] = 'page-sometag2';
        break;
      }
    }
  }
  // ...
}

用您的值替换大写。 page-sometag1.tpl.php和page-sometag2.tpl.php文件应该在你的主题文件夹中。