如何快速主题视图?

时间:2008-09-16 22:02:58

标签: drupal drupal-views cck drupal-theming

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

10 个答案:

答案 0 :(得分: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"页。

答案 1 :(得分:22)

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

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

答案 2 :(得分:16)

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

答案 3 :(得分:10)

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

答案 4 :(得分: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 - 对于使用此模板的其他视图,运行通常在此模板中找到的代码。如果客户问:“嘿,你能不能在首页上显示那些显示档案和列表的页面看起来更像(......)”,这只是我的开放和问题的一个问题。编辑这一个文件,而不是三个不同的文件。维护变得更快更快友好。

答案 5 :(得分:6)

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

答案 6 :(得分:4)

我的快捷方式选项。

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

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

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

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

答案 7 :(得分:2)

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

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

答案 8 :(得分:1)

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

答案 9 :(得分:0)

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

程序化方式:

  1. 转到编辑视图。
  2. 选择页面/块样式。
  3. 转到'基本设置'然后点击主题:信息'查看您可以修改的所有不同模板。
  4. 添加您想要主题的html,并在任何需要的地方打印视图的变量
  5. 配置更新:Using the Display suite展示套件为我们提供了一个选项,可以将标签置于内联或上方,并添加偶数以隐藏它们。还可以添加每个视图元素的自定义类。 高级选项包括:

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