1

我的网站中有 8 种内容类型,其中 4 种具有相同的结构,不同之处只是它们的名称。我想为他们创建一个节点页面,但我想为每个节点创建一个 .tpl.php 文件效率低下。我使用以下方法为某种内容类型创建节点页面:

  1. 创建页面并将其重命名为 page--node--Machine-Name-of-ContentType.tpl.php

  2. 将此函数添加到 template.php

    功能 ThemeName_preprocess_page(&$variables) {

    if (isset($variables['node'])) 
    {
        $suggest = "page__node__{$variables['node']->type}";
        $variables['theme_hook_suggestions'][] = $suggest;
    }
    

    }

有没有办法为多种内容类型创建一个节点页面?

4

1 回答 1

2
function theme_preprocess_page(&$vars) {
  if (isset($vars['node']->type)) {
    switch ($vars['node']->type) {
      case 'news':
      case 'blog':
      case 'event':
      case 'page':
        $vars['theme_hook_suggestion'] = 'page__alt';
        break;
    }
}

将使用 page--alt.tpl.php 文件

于 2013-09-24T18:43:57.163 回答