2017-08-27 6 views
1

ノードIDを持つページを追加していて、以前は "page-node-node-id.tpl.php"テンプレートを使用してノード/ページをカスタマイズしていました。しかし、私は誤ってそのノードを削除しましたが、特定のnidノードを持つノードを作成できません。私は各ページが彼のユニークなタイトルとして特定のページをカスタマイズする方法を知りたい。Drupal:ノードIDのないページ固有のテーマ

+0

新しいノードを作成し、それをデータベースに直接変更することができます。 PhpMyAdminまたは類似のツールを使用します。一番きれいな解決策ではありませんが、以前に何が使用されていたかを知っていれば、それはかなり安全です。 「ノード」テーブルを確認します。 – MilanG

+0

さらに単純です。新しいノードを作成して、それが何であるかを見て、新しい名前が古いものに置き換わるように名前を変更します。キャッシュをクリアすることを忘れないでください!コメントのために – MilanG

答えて

1

使用ページ - すべてのノードのnode.tpl.php代わりに、各テンプレートさもなければ ノード使用 - specifcノードコンテンツタイプテンプレートの[ノードタイプ] .tpl.phpを

別のスマートがありますコード

関数themeName_preprocess_page(& $ VARS、$フック)の下に、以下のことにより、独自の特定の名前を持つコンテンツタイプのテンプレートを作成するためのステップ{

場合(ISSET($ VARS [ 'ノード'])){

$ vars ['theme_hook_suggestions'] [] = 'page__'。 str_replace( '_'、 ' - '、$ vars ['node'] - > type);上記の場合

}

}

ノードコンテンツタイプは、 "記事"、テンプレートの提案がされる場合は、 "ページ - article.tpl.php"。

1

テーマディレクトリにテンプレートファイルページ - nodetype.tpl.phpを作成します。

+0

ありがとう。私は最も安全な方法は、新しいコンテンツタイプを作成し、 "page-content-type.tpl.php"というテンプレートを追加することだと思います。ローカルセットアップからライブセットアップにプロジェクトを展開するときに簡単に使用できます。ノード固有のテンプレートページを持っていることの欠点は、そのノードを誤って削除した場合、特定のnidを持つ新しいノードを作成することができなくなることです(Drupalがプログラミングコマンドによっても許可しない理由はわかりません)。 – Bilal

関連する問題