如何快速主题视图?

问题描述 投票:85回答:10

我已经使用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。

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

  • 在“基本设置”块中,“主题:信息”可以查看您可以修改的所有不同模板。
  • Devel module的“主题开发者”能够快速找到字段变量名称。
  • View 2 documentation,尤其是"Using Theme"页面。
drupal drupal-views cck drupal-theming
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。

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

  • 在“基本设置”块中,“主题:信息”可以查看您可以修改的所有不同模板。
  • Devel module的“主题开发者”能够快速找到字段变量名称。
  • View 2 documentation,尤其是"Using Theme"页面。

0
投票

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

程序化方式:

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

配置更新:展示套件为我们提供了一个选项,可以将标签置于内联或上方,并添加偶数以隐藏它们。也可以添加每个视图元素的自定义类。高级选项包括:

  • 导出
  • 在后端或代码中添加自己的自定义字段
  • 在主题中添加自定义布局(仅限D7)
  • 更改标签,添加样式或覆盖字段设置(语义字段)。
  • 与视图和面板完全集成
  • 通过安装Field Group来扩展布局的功能
  • 使用对象缓存(D6)或实体缓存(D7)集成的最佳性能

22
投票

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

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

16
投票

Devel module的“主题开发人员”功能可以方便地查看Drupal在主题内容时要查找的模板文件。有关示例,请参阅该页面上的屏幕截图。


10
投票

你也应该看看Semantic Views。对于简单的视图主题,它非常方便。


7
投票

一个提示:

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

我有时只是将一些代码分支插入到一个视图文件中,而不是使用views接口为视图选择新模板。例如。在views-view-fields.tpl.php的一个网站我有:

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

然后,这将按照我想要的方式修改字段= ViewsList,frontList和archiveList - 并且对于使用此模板的其他视图,运行通常在此模板中找到的代码。如果客户问“嘿,你能不能让那些显示档案的页面和首页上的列表看起来更像(...)”,这只是我打开和编辑这个文件的问题,而不是三个不同的文件。维护变得更加快速和友好。


6
投票

对我来说块视图-myViewName-myBlockId.tpl.php有效


4
投票

我的快捷方式选项

  1. 转到YOUR_MODULE_DIR / views / theme /文件夹中的theme.inc文件。
  2. _views_theme_functions函数中打印$ themes变量或在函数的最后一行放置断点以查看变量的内容。

只需将views_view转换为views-view和__ to - 并添加模板扩展名即可获得所需的文件名。

例如,如果$ themes数组的元素是views_view__test_view__block(其中test_view是视图的名称),那么模板文件的名称将是views-view - test_view - block.tpl.php。


2
投票

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

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


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.