Drupal Views2暴露形式

时间:2011-05-02 19:28:04

标签: drupal drupal-views

前段时间你评论了海报上关于如何改变Drupal Views2 Exposed Form的问题。你提到In the post

  

更改主题的正确方法是覆盖主题文件夹中的views-exposed-form.tpl文件。请记住,这将适用于所有公开的过滤器表单,对于特定的过滤器表单,您需要为该文件名使用不同的名称,如:

     

views-exposed-form--TITLE--DISPLAY.tpl.php
views-exposed-form--TITLE.tpl.php

     

和其他一些人,您可以查看视图的主题:信息部分,了解模板命名约定。

你可以扩展'TITLE'和'DISPLAY'究竟是什么吗?是否需要模板文件或只需其中一个?

感谢。

2 个答案:

答案 0 :(得分:5)

我不是您所指的帖子的作者,但我可以回答这个问题。

视图主题的工作方式是输出的特定部分有一个基本模板,通过向其添加额外的限定符,可以使该基本模板更具体。

如果您将/sites/all/modules/views/theme/views-exposed-form.tpl.php复制到主题文件夹(或安装了视图的任何位置),请对副本进行更改,然后编辑视图并选择主题:信息并单击重新扫描模板文件,视图现在将在主题文件夹中使用此模板来呈现公开的过滤器表单。这是基本模板名称,因此它将用于每个视图的公开过滤器表单。

如果您所做的更改应该应用于每个公开的过滤器表单,那么您就完成了。但是,您可能希望将此覆盖模板文件限制为特定视图,甚至是特定视图的特定显示。如果您只想将模板应用于名为testview的视图,则可以将主题的views-exposed-form.tpl.php重命名为views-exposed-form--testview.tpl.php。每次重命名或新文件后,请不要忘记使用重新扫描模板文件按钮。现在该模板仅适用于视图testview及其所有显示。

视图可以有多个显示 - 可能是一个块,一个页面,一个管理员页面等。这些列表垂直列在编辑页面左侧的视图中。您可以获得更具体的信息并定位特定视图的特定显示。为此,您可以将此模板文件命名为views-exposed-form--testview--page-1.tpl.php,这将导致它仅用于testview视图,并且仅用于该视图的第一页显示。您可以通过将鼠标悬停在选项卡上找到显示名称 - 它将显示在浏览器显示状态的URL末尾(默认值,第1页等)。只需记住在模板文件名中将下划线变为连字符:使用page-1而不是page_1。

您还可以定位所有网页,例如:views-exposed-form--testview--page.tpl.php

这些命名约定以及可以覆盖的模板列表可在此处获得:http://views.doc.logrus.com/(单击视图模板文件)。

因此,如果您有一个特定的显示或视图要覆盖默认模板,那么您只需要一个针对该组合的单个文件。如果您需要定位其他视图或显示组合,则会有更多文件。

答案 1 :(得分:0)

您可以尝试使用Views exposed form layout模块查看从主题中显示的视图。