Drupal在视图的显示中显示一行

时间:2009-10-30 16:01:02

标签: drupal drupal-6 view

我正在尝试在视图中设置单个“显示”。我想要实现的是对行的呈现方式进行一些控制(例如,打印行中的字段,并可能在其间添加一些文本。以及一些div用于样式目的)。我找了几天来编辑模板。我甚至使用过主题开发者和View的主题信息,但没有运气。全部

我的观点名称是日历,并且有一堆显示。任何人都可以告诉我应该做什么来自定义这个特定显示中的行? drupal甚至提供了这种灵活性吗?

我在日历视图中显示的名称和标题是:

Name: List view
Title: List

以下是行样式的主题信息:

Row style output: views-view-fields.tpl.php, views-view-fields--calendar.tpl.php, views-view-fields--page.tpl.php, views-view-fields--calendar--page.tpl.php, views-view-fields--calendar.tpl.php, views-view-fields--page-1.tpl.php, views-view-fields--calendar--page-1.tpl.php

有人可以告诉我如何


修改
(OP在答案中发布的一些其他信息)

我正在使用Drupal 6.我不确定这里的第1页指示以下是此视图中显示的列表:

Defaults 
Calendar page 
Calendar block 
Month view 
Week view 
Block view 
Upcoming 
List view 
Ongoing Block Feed 

如您所见,其中没有一个字符串为“page-1”。我编辑了views-view-list.tpl.php,它是为“样式输出”列出的文件之一。我可以访问的唯一变量是rows,它是一个包含所有单独渲染的“row”的数组。就像我之前提到的那样,行是在其他地方生成的,并且已经包含了渲染字段。我该如何自定义这些行?

4 个答案:

答案 0 :(得分:6)

如果您使用的是Drupal 6,则不必向template.php添加任何内容。

您拥有的可能主题文件列表按顺序从最少到最具体。例如,第一个,views-view-fields.tpl.php,将应用于您网站上所有视图的所有字段。最后一个,views-view-fields - calendar - page-1.tpl.php,只适用于“日历”视图的“第1页”显示,所以我猜这是你想要的那个覆盖。

当您在视图中单击主题信息时,提供的显示(“第1页”或其他)适用于您当前所在的显示。因此,如果您想要某个显示中的主题字段(例如“日历”视图的“块状”显示),那么您可以单击左侧垂直菜单中的“块状块”显示,然后单击主题该显示的信息。

因此,一旦确定要使用哪个,请在主题目录中使用该名称创建一个新文件,然后复制当前主题文件的内容(单击主题信息中主题文件的名称部分)页面)到你的新主题文件,然后编辑。请记住,如果您覆盖主题文件,则必须在“主题信息”页面中单击“重新扫描模板文件”才能使新文件生效。

希望有所帮助!

答案 1 :(得分:1)

显示器仅在表面上具有自定义名称,但在内部它们由id引用。 'page_1'将是您首次显示'page'类型(块将变为'block_ [id]',Feed将变为'feed_ [id]'等等。

因此,如果您按顺序发布了显示内容,则“page_1”将成为“日历”显示。您可以通过查看views config页面右侧显示列表中显示条目下的链接来查看此信息。它们将具有名为“#views-tab-page_1”,“#views-tab-block_1”等的锚点。

至于覆盖模板,请注意,如果添加新的* .tpl.php文件,则需要reset the theme registry才能被Drupal“拾取”。

答案 2 :(得分:0)

您是否添加了template.php文件中所需的自定义代码?我知道在drupal 5中你需要将代码放在3个文件中:

的template.php 意见,看法场 - [名] .tpl.php 视图的视图场 - [名称]的CSS

你也可以尝试: http://drupal.org/node/128741

答案 3 :(得分:0)

回答第二个问题:样式输出不是您正在寻找的模板。行样式是编辑字段在行中的排列方式的模板。如果要编辑特定字段输出其内容的方式,则应编辑特定字段模板。