2016-04-27 13 views
0

私のサイトには3つのノードがあります。Drupal 6で異なるノードに異なるテンプレートを追加するには

  1. ノード/ 1 - 問い合わせ
  2. ノード/ 3 - - 私は別のノードのために別のテンプレートを持ちたい

登録

  • ノード/ 2は、ログインしてください。私がpage-node-1.tpl.php、page-node-2-tpl.phpとしてページ全体に対して行うのであれば、私はそれを望ましくない。、特にノードの内容を上書きしたい。

    は、私はすでに、次のリンクを試してみました: -

    私はDrupalの6私はDrupalの6を使用していない

  • +0

    アイズは正しいです。新しいテンプレートファイルを追加した後でキャッシュをクリアすることを忘れないでください! – MilanG

    答えて

    0

    を使用しています私が気づいたものの、Drupal 6のデフォルトのノードテンプレートはノードIDベースのテンプレート提案を持つ。

    これは、カスタムテーマからはできないというわけではありません。 (すでにその機能を持っている場合や機能の内容をマージ)あなたのテーマのtemplate.phpで

    <?php 
    
    function THEMENAME_preprocess_node(&$vars) { 
        $vars['template_files'][] = 'node-' . $vars['nid']; 
    } 
    
    ?> 
    

    は、テーマ名を置き換えて、上記のコードを追加します。これにより、node-123.tpl.phpファイル(123がノードIDの例)のDrupalチェックが行われ、node.tpl.phpの代わりに使用されます。

    node/1または任意のノードの内容を使用してログインフォームを埋め込むと述べたので、これはまさに良い考えではないことを教えてください。ログインフォームは、サイトがメンテナンスモードのときにアクセス可能である必要があり、後で異なる展開環境で管理するのは難しい場合があります。しかしこの部分は質問に完全に無関係です。

    +0

    あなたは上記のコードについてお話していますか? –

    +0

    これはPHPコードであり、私はそれに適切なマークアップを使用することを忘れていました。今修正されました。 –

    +0

    テーマ名が100bagsの場合、このテーマ名を関数に入れようとするとエラーになります。私はこの関数をtemplate.phpに入れるべきでしょうか? –

    関連する問題