覆盖views-view-fields.tpl.php


12

是否可以覆盖views-view-fields.tpl.php特定视图的文件?我尝试创建views-view-fields--view-name.tpl.php文件,并重新扫描了模板文件,并清除了缓存,但没有任何效果。此处报告的类似问题:http : //drupal.org/node/1137942

尽管如果我views-view-fields.tpl.php在主题文件夹中命名文件,但是在重新扫描模板文件时会应用新文件。但这意味着它适用于所有视图。

我注意到views-view-fields.tpl.php不是Views呈现的Theme Information屏幕中列出的文件之一。

有人能明确地告诉我,通过创建一个覆盖该文件views-view-fields--view-name.tpl.php(或类似如下的命名规则)是能够/不支持?

Answers:


4

tpl文件命名约定的优先顺序在其范围内从最宽到最窄。因此,所有视图的字段替代都是一种组合,但是您不能像尝试过的那样更改顺序,只能更具体。为了实现所需的功能,视图对象在创建的tpl中可用,因此可以在其中使用if(){} else {}语句,通过检查名称/显示来过滤需要覆盖的视图。风景。


不太确定我了解...较窄的tpl文件优先于较宽的tpl文件,对吗?那么views-view--archive.tpl.php哪个更窄优先于views-view.tpl.php哪个更宽?
nmc

正确,范围仅限于tpl文件的“集合”。发现它们是如何组合在一起,一组每场TPL建议,一个用于视图等
codexmas

1
好的,所以我想知道为什么views-view-fields--view-name.tpl.php不考虑我的范围更窄/似乎没有优先于默认范围更宽的范围views-view-fields.tpl.php
nmc

1
它不是视图提供的实际模板。您无法伪造view元素的组合来制作自己的tpl文件。存在的唯一对象是列出的对象,并且按照优先顺序排列。将我建议的逻辑放入您的views-view-fields.tpl.php文件中是执行所需操作的最简单方法。
codexmas 2011年

1
好的,这就是我想要的答案。我只是想验证Views模块是否实际上支持views-view-fields.tpl.php通过常规命名约定覆盖文件。
nmc

7

对于视图3-确保在“格式->显示”字段下选择“字段”(无内容)

然后转到视图并找到“主题:信息”,您可以在其中看到当前使用的所有模板(BOLD)和候选模板文件的列表。找到您要使用的女巫tpl.php文件。

转到视图模块目录,在“主题”文件夹下,您应该能够找到所选文件的基本tpl.php。将该文件复制到主题文件夹中。根据主题:信息中给出的命名约定重命名。

重新扫描模板文件。如果一切正常,views-view-fields.tpl.php应该不再加粗。粗体应该是您新创建的tpl.php,然后您可以根据需要设置新tpl.php文件的样式。


感谢您的提醒; 我确实选择了字段,但不满意。 views-view-fields.tpl.php不是在主题中列出的文件之一:信息部分,因此我不知道我是否能以同样的方式与其他模板文件来覆盖它。
nmc

@Nebojsa非常感谢您的回答。我是D6 / V2的兽医,在桌子上敲打我的头几个小时,试图使它正常工作。
yitznewton
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.