如何快速主题化视图?


85

我用CCK和View 2模块定义了一个视图。我想快速定义特定于此视图的模板。是否有任何教程或信息?我需要修改哪些文件?


这是我的发现:(已编辑)

实际上,视图有两种方式:“字段”方式和“节点”方式。在“编辑视图”中,可以选择“ Row style: Node”或“ Row style: Fields”。

  • 使用“ Node ”方式,您可以创建一个node-contentname.tpl.php,该视图将为视图中的每个节点调用。您可以使用$ field_name [0] ['value']访问cck字段值。(edit2)您可以使用node-view-viewname.tpl.php,它将仅为从该视图显示的每个节点调用。
  • 使用“字段”方式,您可以为要单独设置主题的每个字段添加一个views-view-field--viewname--field-name-value.tpl.php。

感谢先前的回复,我使用了以下工具:


1
它是views-view-fields--viewname--field-name-value.tpl.php而不是views-view-field--viewname--field-name-value.tpl.php,您在上缺少“ s”第一场
Alex Borsody

您将其添加到哪个文件夹?
Talon 2012年

如果在视图文档页面上进行搜索,那么您将找到所有这些信息!
Bhavin Joshi

Answers:


52

实际上,有两种方法可以使视图成为主题:“字段”方法和“节点”方法。在“编辑视图”中,可以选择“ Row style: Node”或“ Row style: Fields”。

  • 使用“ Node ”方式,可以创建一个node-contentname.tpl.php,该视图将为视图中的每个节点调用。您可以使用$ field_name [0] ['value']访问cck字段值
  • 使用“字段”方式,您可以为要单独设置主题的每个字段添加一个views-view-field--viewname--field-name-value.tpl.php。

感谢先前的回复,我使用了以下工具:


请注意,第一种方式是“节点”方式,您创建的模板可能会(取决于主题设置)用于节点itslef(甚至显示在节点外部)。
Strae 2011年

请注意,在这个答案的链接,现在404
Dewayne

22

查找可以在Views 2.0中为视图创建和修改的模板文件的快速方法是:

  1. 编辑视图
  2. 选择样式(例如页面,块,默认)
  3. 在“基本设置”块中,单击“主题:信息”以查看可以修改的所有不同模板。



7

提示:

您可能会有许多需要类似格式的视图。为这些视图中的每个视图创建模板并进行复制会造成代码分支的噩梦-如果系统要求您更改网站的整体外观(暗示更改以这种特定方式设置的每个视图的显示),必须返回并分别编辑每个。

有时我没有使用视图界面为视图选择新模板,而是只是将一些分支代码插入单个视图文件中。例如,views-view-fields.tpl.php我有一个站点:

if($view->name == 'articleList' || $view->name == 'frontList' 
|| $view->name == 'archiveList') {
/* field formatting code */
} else {
/* the default code running here */
}

然后,以我只希望为该系列Views = articleList,frontList和archiveList修改字段的方式;对于使用此模板的其他视图,则运行通常在该模板中找到的代码。如果客户问:“嘿,您能不能使显示存档的页面和首页上的列表看起来更像(...)”,这完全是我打开并编辑一个文件而不是三个文件的问题。不同的文件。维护变得更加快捷和友好。


6

对我来说block-views-myViewName-myBlockId.tpl.php可以正常工作


4

我的快捷方式选项。

  1. 转到/ views / theme /文件夹中的theme.inc文件。YOUR_MODULE_DIR

  2. _views_theme_functions函数中打印$ themes变量,或在函数的最后一行放置一个断点以查看变量的内容。

只需将其转换views_viewviews-view并将__转换为-并添加模板扩展名即可获取所需的文件名。

例如,如果$ themes数组的元素是views_view__test_view__blocktest_view视图的名称在哪里),则模板文件的名称将是views-view--test_view--block.tpl.php


2

在我看来,确定用于对视图进行主题设置的模板文件的最简单方法是:1)单击admin / build / views / edit / ViewName->基本设置->主题

单击此按钮将列出所有可能的模板文件。高亮显示的文件(以粗体显示的文件名)指示正在使用哪个模板文件作为主题的视图的哪一部分。在将所需的更改合并到相关视图模板文件RESCAN ..中之后,现在您应该能够看到突出显示更改的模板文件。



0

据我说,有两种方法可以做到:

编程方式:

  1. 进入编辑视图。
  2. 选择页面/块样式。
  3. 转到“基本设置”,然后单击“主题:信息”以查看可以修改的所有不同模板。
  4. 添加您想要主题化的html并在需要的地方打印视图的变量

配置更新:使用展示套件显示套件为我们提供了一个选项,可以将标签放置在行内或上方,甚至可以隐藏标签。也可以为视图的每个元素添加自定义类。高级选项包括:

  • 出口商品
  • 在后端或代码中添加自己的自定义字段
  • 在主题中添加自定义布局(仅D7)
  • 更改标签,添加样式或覆盖字段设置(语义字段)。
  • 与视图和面板完全集成
  • 通过安装字段组来扩展布局的功能
  • 通过对象缓存(D6)或实体缓存(D7)集成实现最佳性能
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.