カスタムブロックのテーマについてはたくさんありますが、ビューによって作成されたブロックについてはどうでしょうか?
私のビューブロックにはid:block-views-posts-listing-block、
たとえば、block--block--views-posts-listing-block.tpl.phpなど、テンプレートファイルに名前を付けるためにさまざまな方法を試してみましたが、正しいファイル名が見つかりません。
カスタムブロックのテーマについてはたくさんありますが、ビューによって作成されたブロックについてはどうでしょうか?
私のビューブロックにはid:block-views-posts-listing-block、
たとえば、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
テンプレートファイル(/ modules / views / themeにある)を現在のテーマディレクトリにコピーし、このファイルの名前を提案された名前に変更できますviews-view-unformatted--posts-listing--block.tpl.php
。次に、テンプレートファイル内で変更を行います。このテンプレートで必要な変更ができない場合は、必要に応じて他のテンプレートを探してください。
最後に、新しいテンプレートを追加する場合、テンプレートファイルリストを再スキャンします。
重要!テンプレートファイルを追加、削除、または名前変更するときは、システム上のファイルを再スキャンすることにより、Drupalに変更を認識させる必要があります。[テンプレートファイルの再スキャン]ボタンをクリックすると、Drupalのテーマレジストリがクリアされ、この再スキャンプロセスがトリガーされます。強調表示されたテンプレート([テンプレートファイルの再スキャン]ボタンの上にあるテンプレートリスト)は、システムの新しい状態を反映します。
また、Oswaldによって提案されたTheme Developer Module http://drupal.org/project/devel_themerは、可能なテンプレートを検出して、基準に従って特定の要素を変更するのに役立ちます。本番環境で有効になっているこのモジュールはお勧めしません(私の場合、ビューと競合するように見えるため、テスト環境でモジュールを無効にしたこともありますが、必要な場合は非常に便利です)
--block
。名前で終わるテンプレートがいくつかあります。reescanテンプレートを覚えて、現在のテーマのディレクトリ内にテンプレートを置いてください(modules / views / themeから選択したテンプレートをコピーしてください)。テンプレートには、「テーマ情報」リストで提案された名前が必要です。できます。
テーマ開発者(別名devel_themer)によると、D7で答えを探している人のために、次の規則を使用してビューのブロックのtplオーバーライドを作成できます。
ブロック- views-- {ビューのマシン名} -ブロック
したがって、例では与える
block--views-- post-listing -block.tpl.php
スペースなし(すべてをインラインにするためにこれを適切に編集できませんでした。
上記のファイル名パターンは、ビュー名+表示名が特定の文字数を超えない限り機能します!! 私はこれに巻き込まれ、... block.tpl.php
で終わるテンプレートファイルが機能していて、次の表示が機能していない理由を見つけることができませんblock-1.tpl.php
でした。
名前が長すぎる場合、Viewsはマシン名をMD5ハッシュに置き換えます。使用するテンプレート名を確認したい場合$conf['theme_debug'] = TRUE;
は、settings.phpを追加してからページのソースを確認してください。block--views--d131dd02c5e6eec4
....のようなものを見つけた場合は、ビューのマシン名を短くした方がよいでしょう(管理する場合は...人間が読める名前ではありません)。または、その愚かな名前のテンプレートファイルを使用する必要があります。
また見なさい
そして
このページhttps://www.drupal.org/node/1089656、およびビューが使用するアンダースコアに関する情報を確認してください。
ビューのもう1つの例では、ビュー名が「front_news」で表示IDが「block_1」のビューで作成されたブロックがある場合、テーマフックの提案は次のようになります。block--views--front-news-block-1 tpl.php(表示IDまたはビュー名にアンダースコアがある場合、それらを単一のダッシュに変換する必要があることに注意してください)
パネルペイン内のブロックの場合、noTxtなどが提供するソリューションは機能しません。構文は次のようになります(アンダースコアなし!):
panels-pane-block--views-[view-name]-[display-machine-name].tpl.php
この例外的なテーマオーバーライドケースを把握するために、$ conf ['theme_debug']設定を提供してくれたuser3074436に感謝します。
D7> = 7.33を使用している場合、theme_suggestionをHTMLコメントとしてページに直接表示できます。
に settings.php
$conf['theme_debug'] = TRUE;
完全なドキュメントはこちらです https://www.drupal.org/docs/7/theming/overriding-themable-output/working-with-template-suggestions