主题自定义块有很多,但是视图创建的块呢?

我的视图块具有ID:块视图 - 列表上的块,

我尝试用于命名模板文件的多种方法,例如:block- block - views-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 (这只是几个名称之一)。您可以复制原始 views-view-unformatted.tpl.php 模板文件(位于/模块/视图/主题中)到您当前的主题目录,并以建议的名称重命名此文件:views-view-unformatted--posts-listing--block.tpl.php. 。然后进行模板文件中的更改。如果此模板不允许您进行通缉更改,请根据需要寻求其他模板。

最后,如果添加了一个新模板,则恢复模板文件列表:

重要的!在添加,删除或重命名模板文件时,有必要通过使其在系统上的文件进行恢复来使Drupal意识到更改。通过单击“恢复模板文件”按钮,您可以清除Drupal的主题注册表,从而触发此撤销过程。突出显示的模板(在您的模板列表中,“扫描模板文件”按钮)将反映系统的新状态。

还有主题开发人员模块 http://drupal.org/project/devel_themer 奥斯瓦尔德(Oswald)提出的建议对于检测可能的模板/s以根据您的标准更改特定元素很有用。我不会推荐在Productions Enviroments中启用此模块(就我而言,即使我已经禁用了测试环境中的模块,因为似乎与视图发生冲突,但是当必要时,它非常有用)

其他提示

对于那些在D7中寻求答案的人,根据主题开发人员(又名DEVEL_THEMER),您可以使用“约定”为视图块创建一个TPL替代:

块 - 视图 -{View's Machine_name}-堵塞

因此,在示例中给你会得到

块 - 视图 - 列出后 -block.tpl.php

没有空间(我无法正确编辑它,以使其全部嵌入在一起。

在更改TPL名称的半小时结束时,这是我的最后结论:

block--views--[view-name]-[display-name].tpl.php

view-name] - [显示名称]可以像notxt所说的那样找到零件,或加入“ - ”视图的ID名称和视图显示的ID名称,末端的-block不正确。

在Drupal 8中

enter image description here

字段模板是:

视图视图 - [view-name] -1.html.twig block-1.html

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; 在您的设置.php中,然后查看页面源。如果您找到类似的东西 block--views--d131dd02c5e6eec4....您最好缩短视图的机器名称(如果您对此进行操作……这不是可读的名称)。否则,您需要使用带有该愚蠢名称的模板文件。

也可以看看

Views Block的机器名称正在“哈希”(?)

https://www.drupal.org/node/346602

检查此页面 https://www.drupal.org/node/1089656, ,以及有关视图使用的下划线的信息:

另外还有一个带有视图的示例,如果您的视图创建了一个带有视图名称“ front_news”并显示ID“ block_1”的块,那么主题挂钩建议将是:block-views-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您可以直接在页面上显示theme_suggestion,html注释使用:

settings.php

$conf['theme_debug'] = TRUE;

这是完整的文档https://www.drupal.org/docs/7/theming/overriding-themable-endput/working-with-template-suggestions

许可以下: CC-BY-SA归因
scroll top