Scroll
page-content-type.tpl.php コンテンツタイプ専用のテンプレート
おそらく、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.php(news はニュースコンテンツタイプのマシン名)です。
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 ファイルを配置することで、テンプレートを上書きできます。