カスタムテンプレートの提案

私はこの前処理機能を持っています:

function drisco_preprocess_page(&$vars) {
    $node = $vars['node'];
    $vars['theme_hook_suggestions'][] = 'page__node__' . clean_class($node->title);
    array_unshift($vars['theme_hook_suggestions'], 'page__node__' . clean_class($node->title));
    dpm($vars);
}

dpm() tells me my suggestion array looks like
this:

0 (String, 26 characters ) page__node__hotel-overview
1 (String, 10 characters ) page__node
2 (String, 13 characters ) page__node__%
3 (String, 14 characters ) page__node__68
4 (String, 10 characters ) page__page
5 (String, 11 characters ) page__hotel
6 (String, 26 characters ) page__node__hotel-overview

私のテンプレートファイルは「page-node-hotel-overview.tpl.php」と呼ばれていますが、使用されていません。私は私のテーマディレクトリにpage.tpl.phpテンプレートファイルを持っています。

私は間違って何をしていますか?

私がテンプレート候補配列を消去し、そのように1つのファイルだけで自分自身で置き換えると、テンプレートが読み込まれます。同じ提案を追加または追加すると、page.tpl.phpだけが読み込まれます。

$vars['theme_hook_suggestions'] = array('page__node__68');

これは子供のテーマです。それは違いを生み出すことができますか?

ベストアンサー

テンプレートの順序を説明しましょう

この場合、ヘッダーとフッターを、page.tpl.phpで設定されている通常のページレイアウトと異なるように変更することができます

ページ – [コンテンツタイプ名] .tpl.php = page – lab.tpl.php
ヘッダーとフッターを含むタイプラボのすべてのコンテンツをテーマにする

ページ – ノード – [コンテンツID] .tpl.php =ページ – ノード –
12.tpl.php それは、ヘッダーとフッターを含む12のテーマのテーマに使用されます

第二に、

  1. node.tpl.php Will work for all type of content
    on the site
  2. node–[content-type name].tpl.php
    (node–lab.tpl.php) will used to alter the content
    part only of lab type content excluding header and footer
  3. node–[node-id].tpl.php(node–10.tpl.php) will
    use to alter the content part of node 10 only excluding header and
    footer

ヘッダーとフッターの制御と除外。

それがあなたを助けることを願っています!

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です