Drupal 7テーマ個々のページ
-
24-10-2019 - |
質問
Drupal 7サイトを開始していますが、ほぼすべてのページに別のレイアウトが必要であることに気付きました。
個々のノードをスタイリングするために、テンプレートMode-nid-page.tpl.phpに名前を付けるだけですか、それとももっとありますか?
ギャラリーウィジェットなども追加する必要があると思います。しかし、それは別の問題だと思います。しかし、これには上記のテンプレートにフィールドを表示することが含まれますか?
解決
まず、NIDに基づいてページをテーマにするのは良い考えではないと思います。
それはさておき、ここにあなたがこのようなことを達成できる2つの可能性があります:
通常のノードテンプレートをテーマにしますが、そこにはロジックが含まれています。たとえば、NIDに基づいた特定のテンプレートファイルを含めることができます。もちろん、きれいな分離ではありません。そのようなコードはテンプレートに入るべきではありません。よりクリーンな分離の場合、テーマに使用されるテンプレートファイルを保持するページにカスタムフィールドを添付できます。
さまざまなNIDの個々のスタイルを作成したいので、それらの数は法外に大きくないと思います。その場合、個別のコンテンツタイプを作成できます。次に、各NIDをそのコンテンツタイプのノードに変換する必要があり、もちろん各コンテンツタイプには独自のテーマテンプレートを持つことができます。
2番目のアプローチの欠点は、コンテンツタイプ(たとえば、権限)に転送する必要がある多くの設定がある場合、いくつかの作業が必要になる可能性があることです。しかし、繰り返しになりますが、新しいページもノードになるので、ほとんどのことは以前と同じように箱から出して作業するだけです。