logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll

page-content-type.tpl.php コンテンツタイプ専用のテンプレート

17/04/2025, by Ivan

おそらく、node-content-type.tpl.php で上書きして、ノード用のカスタムテンプレートを何度も作成したことがあるでしょう。

それで十分なこともありますが、コンテンツタイプ専用のページテンプレートを定義する必要がある場合もあります。残念ながら、Drupal 6 では、追加のコードなしにはこれを行えません。page-content-type.tpl.php のようなカスタムテンプレートを有効にするには、template.php ファイルに次のコードを追加します:

function phptemplate_preprocess_page(&$vars) {
  if (isset($vars['node'])) {
    $vars['template_files'][] = 'page-' . str_replace('_', '-', $vars['node']->type);
  }
}

これで、コンテンツタイプ用のカスタムテンプレートを作成できます。たとえば、page-news.tpl.phpnews はニュースコンテンツタイプのマシン名)です。

Drupal では、template.php に次の関数を追加することで、タクソノミー用語の出力テンプレートを上書きすることもできます:

function phptemplate_preprocess_node(&$vars) {
  if (arg(0) == 'taxonomy') {
    $suggestions = array(
      'node-taxonomy'
    );
    $vars['template_files'] = array_merge($vars['template_files'], $suggestions);
  }
}

その後、現在のテーマフォルダーに node-taxonomy.tpl.php ファイルを配置することで、テンプレートを上書きできます。