1

私のウェブサイトには 8 つのコンテンツ タイプがあり、そのうちの 4 つは同じ構造で、違いは名前だけです。それらのノード ページを作成したいのですが、それぞれに .tpl.php ファイルを 1 つ作成するのは効率が悪いと思います。次のメソッドを使用して、特定のコンテンツ タイプのノード ページを作成します。

  1. ページを作成し、名前を page--node--Machine-Name-of-ContentType.tpl.php に変更します

  2. この関数を template.php に追加します

    function ThemeName_preprocess_page(&$変数) {

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

    }

複数のコンテンツ タイプに対して 1 つのノード ページを作成する方法はありますか?

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

will use page--alt.tpl.php file

于 2013-09-24T18:43:57.163 に答える