85

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


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

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

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

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

4

10 回答 10

52

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

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

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

于 2008-09-16T22:55:11.370 回答
22

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

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

Devel 模块的“主题开发者”功能可以方便地查看 Drupal 在主题化时正在寻找哪些模板文件。有关示例,请参见该页面上的屏幕截图。

于 2008-09-17T00:20:09.153 回答
10

您还应该查看语义视图。对于简单的 Views 主题,它真的很方便。

于 2010-07-28T04:12:24.190 回答
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 的方式修改字段,而对于使用此模板的其他视图,则运行通常在此模板中找到的代码。如果客户问,“嘿,你能让那些显示档案的页面和首页上的列表看起来更像 (...)”,这只是我打开和编辑这个文件的问题,而不是三个不同的文件。维护变得更加快捷和友好。

于 2011-03-24T14:14:47.397 回答
6

对我来说block-views-myViewName-myBlockId.tpl.php有效

于 2009-10-21T00:50:41.233 回答
4

我的快捷方式选项。

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

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

只需转换views_viewviews-view和 __ to -- 并添加您的模板扩展名以获得所需的文件名。

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

于 2009-08-08T10:22:10.787 回答
2

在我看来,决定使用哪个模板文件对视图进行主题化的最简单方法是: 1) 点击 admin/build/views/edit/ViewName -> Basic Settings -> Theme

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

于 2010-02-21T16:48:26.843 回答
1

如果您想通过大量拖放操作进行快速 Drupal 开发,请使用 Display Suite 模块 def. 是你应该使用的东西:http: //drupal.org/project/ds

于 2011-09-01T10:11:35.573 回答
0

在我看来,有两种方法可以做到:

程序化方式:

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

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

  • 出口品
  • 在后端或代码中添加您自己的自定义字段
  • 在您的主题中添加自定义布局(仅限 D7)
  • 更改标签、添加样式或覆盖字段设置(语义字段)。
  • 与视图和面板完全集成
  • 通过安装 Field Group 扩展布局的功能
  • 对象缓存 (D6) 或实体缓存 (D7) 集成的最佳性能
于 2017-01-24T04:19:20.157 回答