Answers:
编辑您的视图。在“阻止”详细信息的“高级”设置下,点击"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
(这只是几个名称之一)。您可以将原始views-view-unformatted.tpl.php
模板文件(位于/ modules / views / theme中)复制到当前主题目录,然后使用建议的名称将该文件重命名:views-view-unformatted--posts-listing--block.tpl.php
。然后在模板文件中进行更改。如果此模板不允许进行所需的更改,请根据需要查找其他模板。
最后,如果添加新模板,请重新扫描模板文件列表:
重要!添加,删除或重命名模板文件时,有必要通过使其重新扫描系统上的文件来使Drupal知道更改。通过单击“重新扫描模板文件”按钮,您可以清除Drupal的主题注册表,从而触发此重新扫描过程。突出显示的模板(在“重新扫描模板文件”按钮上方的模板列表中)将反映系统的新状态。
Oswald建议的主题开发人员模块http://drupal.org/project/devel_themer可能对检测可能的模板以根据您的标准更改特定元素很有用。我不建议在生产环境中启用此模块(就我而言,即使我已在测试环境中禁用了该模块,因为似乎与视图存在冲突,但是在必要时非常有用)
--block
以他的名字结尾的模板。记住reescan模板,并记住将模板放在当前主题的目录中(从modules / views / theme复制所选模板)。模板必须具有“主题信息”列表建议的名称。有用。
对于那些在D7中寻求答案的用户,根据Theme Developer(又名devel_themer),您可以使用以下约定为视图的块创建tpl覆盖:
块- views-- {视图的不同machine_name} -嵌段
因此,在示例中,您将获得
块-视图 -列表后 -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,以及有关视图使用的下划线的信息:
还有一个关于Views的示例,如果您有一个由视图名称为“ 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
感谢user3074436提供了$ conf ['theme_debug']设置,以便找出这种特殊的主题覆盖情况
您在D7> = 7.33上,可以使用HTML注释直接在页面中将theme_suggestion显示为HTML注释:
在 settings.php
$conf['theme_debug'] = TRUE;
这是完整的文档 https://www.drupal.org/docs/7/theming/overriding-themable-output/working-with-template-suggestions