views-view-fields.tpl.phpのオーバーライド


12

views-view-fields.tpl.php特定のビューのファイルを上書きすることは可能ですか?views-view-fields--view-name.tpl.phpファイルを作成しようとしましたが、テンプレートファイルを再スキャンし、効果なしでキャッシュをクリアしました。ここで報告されている同様の問題:http : //drupal.org/node/1137942

ただしviews-view-fields.tpl.php、テーマフォルダ内のファイルに名前を付けると、テンプレートファイルが再スキャンされるときに新しいファイルが適用されます。しかし、これはすべてのビューに適用されることを意味します。

views-view-fields.tpl.phpは、Viewsが表示するテーマ情報画面にリストされているファイルの1つではないことに気付きました。

誰かがviews-view-fields--view-name.tpl.php(または同様の命名規則に従って)作成することでこのファイルを上書きすることは不可能である/サポートされていないことを明確に教えてもらえますか?

回答:


4

tplファイルの命名規則の優先順位は、その範囲内で最も広いものから最も狭いものまでです。したがって、すべてのビューのフィールドオーバーライドは1つの組み合わせですが、試行したように順序を変更することはできません。より具体的にするだけです。目的を達成するために、作成したtplでビューオブジェクトを使用できるため、if(){} else {}ステートメントを使用して、次の名前/表示を検査することにより、オーバーライドが必要なビューをフィルタリングできます景色。


よくわかりません...狭いtplファイルが広いtplファイルより優先されますか?だから、views-view--archive.tpl.php上で狭くなっているが優先されviews-view.tpl.phpているが広いのですか?
nmc

正しい、そしてスコープはtplファイルの「セット」に制限されます。それらがどのようにグループ化されているかに注目してください。フィールドごとに1組のtplの提案、ビュー用などです。
codexmas

1
わかりました、それで私はなぜ私の狭いものviews-view-fields--view-name.tpl.phpが考慮されないのviews-view-fields.tpl.phpか、デフォルトの広いものよりも優先されないように思えますか?
nmc

1
ビューによって提供される実際のテンプレートではありません。ビュー要素の組み合わせを作成して、独自のtplファイルを作成することはできません。存在するのはリストされているものだけであり、優先順位に従っています。私が提案したロジックをviews-view-fields.tpl.phpファイルに入れることは、あなたがやりたいことをする最も簡単な方法です。
codexmas

1
OK、それは私が探していた答えでした。Viewsモジュールが、通常の命名規則によるファイルのオーバーライドを実際にサポートしていないことを確認したかっただけviews-view-fields.tpl.phpです。
nmc

7

ビュー3の場合-[フォーマット]-> [表示]フィールドで[フィールド](コンテンツではない)が選択されていることを確認します

ビューに移動して「テーマ:情報」を見つけると、現在使用されているすべてのテンプレート(太字)および候補テンプレートファイルのリストを確認できます。使用するwitch tpl.phpファイルを見つけます。

ビューモジュールディレクトリに移動し、「テーマ」フォルダの下で、選択したファイルのベースtpl.phpを見つけることができるはずです。テーマフォルダーにそのファイルをコピーします。Theme:Informationで指定されている命名規則に従って名前を変更します。

テンプレートファイルを再スキャンします。すべてが問題なければ、views-view-fields.tpl.phpを太字にしないでください。太字は新しく作成されたtpl.phpである必要があります。その後、必要に応じて新しいtpl.phpファイルをスタイルできます。


念押し有難う; 選択したフィールドがあり、コンテンツはありません。 Theme:Informationセクションにリストされているファイルの1つでviews-view-fields.tpl.phpないため、他のテンプレートファイルと同じ方法でこれをオーバーライドできるかどうか疑問に思っていました。
nmc

@Nebojsaは、この回答に感謝します。私はD6 / V2獣医で、これを機能させるために何時間も頭をテーブルの上で叩いていました。
イッツニュートン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.