0

nodequeue を作成し、[デフォルト] セクションの [説明/タグ] を [エンターテイメント ハイライト] に設定しました。クリックしてテーマ: 情報を表示すると、スタイル出力のテンプレートが提案されます。

views-view-list.tpl.php
views-view-list--nodequeue-91.tpl.php
views-view-list--entertainment-highlights.tpl.php
views-view-list--default.tpl.php
views-view-list--nodequeue-91--default.tpl.php

特定のノードキューに結び付けないビューのテーマでテンプレートを作成することを望んでいたので、これは素晴らしかったnodequeue ID は変更されている可能性があります)。ただし、ファイル システム上にファイルを作成して [再スキャン] をクリックすると、drupal が見つからないことを示唆するテンプレート名が強調表示されません。

views-view-list--nodequeue-91.tpl.php というファイルを作成すると、これは正常に機能し、「説明/タグ」を単に「エンターテイメント」に変更して、views-view-list--entertainment を作成すると、問題なく動作します。 .tpl.php ファイルの場合、これも drupal によって検出されるため、問題は「説明/タグ」名のスペースに関連しているように見えます

テンプレートを機能させるために何を更新する必要があるか、誰にもアイデアはありますか? コアの調整になる可能性が高いことは承知していますが、このようなケースを処理できれば非常に役立ちます.

4

1 に答える 1

0

これは Drupal6 に直接関係しているのではなく、私たちが使用している OpenPublish のバリエーションに関係していることがわかりました。

/sites/modules/views/themes/theme.inc (/includes/theme.inc と混同しないでください) に _views_theme_functions() という関数があり、次を使用してテーマ テンプレートの名前を決定します。

$themes[] = $hook . '__' . preg_replace('/[^a-z0-9]/', '-', strtolower($view->tag));

ただし、$themes を調べると、a-z0-9 以外のすべての文字がダッシュではなくアンダースコアに置き換えられていることがわかります。

$themes[] = $hook . '__' . preg_replace('/[^a-z0-9]/', '_', strtolower($view->tag));

これは重要な修正であることは承知しており、理想的にはここでこの変更を加えることはありません。

于 2013-05-20T11:32:27.977 に答える