ビューブロックのテンプレートファイルを作成します
質問
カスタムブロックをテーマにすることにはたくさんありますが、ビューによって作成されたブロックはどうですか?
私のビューブロックにはIDがあります:ブロックビューポストリストリストブロック、
私はテンプレートファイルの名前を挙げて多くの方法を試しています。例:block-- block-- views-posts-listing-block.tpl.phpですが、正しいファイル名が見つかりません。
解決
あなたのビューを編集します。そして、ブロックの詳細の「高度な」設定の下で、クリックしてください "Theme: Information"
. 。テンプレートファイルのオプションのリストが表示されます。
たとえば、ブロックに「投稿リスト」という名前がある場合は、「テーマ情報」オプションでリストされている名前を参照してください。
* Display output: views-view.tpl.php, views-view--posts-listing.tpl.php, views-view--default.tpl.php, views-view--block.tpl.php, views-view--posts-listing--block.tpl.php
* Style output: views-view-unformatted.tpl.php, views-view-unformatted--posts-listing.tpl.php, views-view-unformatted--default.tpl.php, views-view-unformatted--block.tpl.php, views-view-unformatted--posts-listing--block.tpl.php
* Row style output: views-view-fields.tpl.php, views-view-fields--posts-listing.tpl.php, views-view-fields--default.tpl.php, views-view-fields--block.tpl.php, views-view-fields--posts-listing--block.tpl.php
* Field Content: Title (ID: title): views-view-field.tpl.php, views-view-field--title.tpl.php, views-view-field--posts-listing.tpl.php, views-view-field--posts-listing--title.tpl.php, views-view-field--block.tpl.php, views-view-field--block--title.tpl.php, views-view-field--posts-listing--block.tpl.php, views-view-field--posts-listing--block--title.tpl.php
例えば: :あなたのブロックには名前があります 投稿リスト, 、そしてスタイルを持っています フォーメット, 、次に、「テーマ情報」は名前を提案します views-view-unformatted--posts-listing--block.tpl.php
(これはいくつかの名前の1つにすぎません)。オリジナルをコピーできます views-view-unformatted.tpl.php
現在のテーマディレクトリにテンプレートファイル(/モジュール/ビュー/テーマにあります)、およびこのファイルの名前を名前を付けて変更します。views-view-unformatted--posts-listing--block.tpl.php
. 。次に、テンプレートファイル内の変更を行います。このテンプレートが必要な変更を許可しない場合は、ニーズに応じて他のテンプレートを探してください。
最終的に、新しいテンプレートを追加する場合、Rescan Templateファイルリスト:
重要!テンプレートファイルを追加、削除、または名前を変更するときは、システム上のファイルを再実行することにより、Drupalに変更を認識させる必要があります。 「Rescan Templateファイル」をクリックすると、Drupalのテーマレジストリをクリアし、この再実行プロセスをトリガーします。強調表示されたテンプレート(「Rescan Template Files」ボタン上のテンプレートリストに)は、システムの新しい状態を反映します。
テーマ開発者モジュールも http://drupal.org/project/devel_themer オズワルドが提案することは、可能なテンプレート/sを検出して、基準に従って特定の要素を変更するのに役立ちます。 Productions Enviromentsで有効になっているこのモジュールをお勧めしません(私の場合、テスト環境でモジュールを無効にしています。ビューと矛盾しているように見えるが、必要な場合は非常に便利だったからです)
他のヒント
D7で答えを求めている人のために、テーマ開発者(別名Devel_Themer)によると、コンベンションを使用してビューのブロックのTPLオーバーライドを作成できます。
ブロック - ビュー - -{View's Machine_Name}-ブロック
したがって、例では、あなたが取得することを与えます
ブロック - ビュー - - ポストリスト -block.tpl.php
スペースがなければ(これを適切に編集して、すべてをインラインにすることができませんでした。
30分のTPL名の変更の終わりに、ここに私の最後の結論があります:
block--views--[view-name]-[display-name].tpl.php
view-name] - [display-name]パーツは、notxが ' - 'を使用して言ったり結合したりするように見つけることができます。 。
block--views--[view-name]-[display-name].tpl.php
に変更する必要がありますblock--views--[view-name]-[machinename].tpl.php
.
あなたはそれが他の書かれているあなたのビューの高度なセクションからあなたのビューからのマシン名を見つけるでしょう
ファイル名のパターンは、ビュー名 +ディスプレイ名が特定の量の文字よりも長い場合を除き、上記の作品を説明しています!!私はこれに捕まったので、なぜテンプレートファイルが終わるのかわからなかった...block.tpl.php
働いていて、次のディスプレイ...block-1.tpl.php
働いていませんでした。
名前が長すぎる場合、ビューはマシン名をMD5ハッシュに置き換えることがわかります。使用する必要があるテンプレート名を確認したい場合は、追加してください $conf['theme_debug'] = TRUE;
settings.phpで、ページソースを見てください。あなたがようなものを見つけたら block--views--d131dd02c5e6eec4
....ビューのマシン名を短縮する方が良いでしょう(それを管理する場合は...人間の読み取り可能な名前ではありません)。または、その愚かな名前のテンプレートファイルを使用する必要があります。
参照してください
と
このページを確認してください https://www.drupal.org/node/1089656, 、およびビューが使用するアンダースコアに関する情報:
また、ビューのビュー「front_news」と表示ID「block_1」を表示するビューによって作成されたブロックがある場合、ビューのもう1つの例は、テーマフックの提案は、ブロック - views - front-news-block-1になります。 tpl.php(表示、表示IDまたはビュー名に強調している場合は、1回のダッシュに変換する必要があります)
パネルペイン内のブロックの場合、notxtおよびその他が提供するソリューションは機能していません。構文は次になります(アンダースコアはありません!):
panels-pane-block--views-[view-name]-[display-machine-name].tpl.php
$ conf ['theme_debug']設定を提供してくれたuser3074436に感謝します。
d7> = 7.33では、htmlのコメントを使用してページにtheme_suggestionを直接表示できます。
の settings.php
$conf['theme_debug'] = TRUE;
これが完全なドキュメントですhttps://www.drupal.org/docs/7/theming/overriding-themable-output/working-with-template-suggestions