2013-09-23 89 views
1

我的网站有8种内容类型,其中4种具有相同的结构,区别仅仅在于它们的名称。我想为它们创建一个节点页面,但我想为每个文件创建一个.tpl.php文件是低效的。我用下面的方法为在一定的内容类型创建节点页:Drupal 7:如何为多种内容类型创建一个节点页面?

  1. 创建页面,并将其重命名为页 - 节点 - 机名称 - 的 - ContentType.tpl.php

  2. 添加此功能的te​​mplate.php

    功能ThemeName_preprocess_page(& $变量) {

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

    }

有什么办法可以为多种内容类型创建一个节点页面吗?

回答

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; 
   } 
} 

将使用页面 - alt.tpl.php文件

相关问题