web-dev-qa-db-ja.com

Template.phpでコンテンツタイプを取得する

テンプレートにJavaScriptコード/ファイルを条件付きで追加するコンテンツタイプを取得しようとしています。

Template.phpのコードは次のとおりです。

echo $node->type;

「node.tpl.php」の同じ行がコンテンツタイプを返しています。 template.phpで動作させるにはどうすればよいですか?

4
esafwan

hook_preprocess_node()をtemplate.phpに追加できます。

function THEMENAME_preprocess_node(&$variables) {
  $node = $variables['node'];
  if ($node->type == 'your_type') {
    //Add the JavaScript file.
    drupal_add_js('/path/to/jsfile.js')
  }
}
11
tostinni

テーマの「template.php」ファイルは、モジュールの「.module」ファイルと同等です。これは、特定の場合にDrupalから呼び出される関数のコレクションです。

「node.tpl.php」ファイルを参照しているので、テーマに前処理関数を追加していると思います。その場合、THEMENAME_preprocess_node()内で使用する変数は_$variables['node']_であり、THEMENAME_preprocess_page()で使用できる変数と同じです。

4
kiamlaluno