何らかの理由で テーマ開発者 モジュールが私のサイトで機能しません(これをアクティブ化して自分のサイトで移動するたびに、「メインコンテンツにジャンプ」と書かれた白いページが表示されるだけです)。知りたいのは、現在のページのレンダリングに使用されているTPLファイルです。
_preprocess_html
_または_preprocess_page
_関数(または重要な他の前処理関数)にprint_r($variables["theme_hook_suggestions"]);
を置くと、_html.tpl.php
_および_page.tpl.php
_ファイルをそれぞれ使用しますが、実際に深く調べて、現在のページをレンダリングするためにチェックされているすべてのテンプレート候補を確認する必要があります。
テーマ開発者 モジュールを使用せずにこれを行う方法はありますか?
関数/テンプレート固有のフックに加えて、 hook_preprocess()
もあります。
このフックにより、モジュールはテーマテンプレートのテーマ変数を前処理できます。テンプレートとして実装されたすべてのテーマフックに対して呼び出されますが、関数として実装されたテーマフックに対しては呼び出されません。
それをDevelモジュールのdpm()
関数と組み合わせると、必要なものが得られます。
function MYTHEME_preprocess(&$vars, $hook) {
if (!empty($vars['theme_hook_suggestions'])) {
dpm(t('Hook - @hook', array('@hook' => $hook)));
dpm($vars['theme_hook_suggestions']);
}
}
これをsettings.phpに置くことができます$ conf ['theme_debug'] = true;
これにより、ページにHTMLコメントが出力され、テーマの提案がどのように選択されているかをデバッグするのに役立ちます。