如何使用 Drupal 视图模块实现 node-VIEWNAME.tpl.php?

Posted

技术标签:

【中文标题】如何使用 Drupal 视图模块实现 node-VIEWNAME.tpl.php?【英文标题】:How to implement a node-VIEWNAME.tpl.php with Drupal Views module? 【发布时间】:2011-05-31 15:11:32 【问题描述】:

我正在使用 Drupal 和视图模块。

我正在使用具有不同视图的相同主题。

我创建了不同的页面,这些页面列出了每个视图名称的节点,如下所示:views-view-fields--VIEWNAME--page.tpl.php 但现在当我单击文章标题时,我想使用个性化节点viewname,所以我想使用 node-VIEWNAME.tpl.php,但这是不可能的。我唯一能做的就是创建一个 node-TYPE.tpl.php 但我不想这样。

所以我的问题是当我点击一篇文章标题时(所以当我只有一篇完整的文章并且由它定义时)我如何实现(可能是使用钩子函数?) url中的id。这是为了精确,我英语不太流利。

非常感谢!

亚历山大

【问题讨论】:

【参考方案1】:

执行您尝试的正确方法 - 使用 Display Suite 模块,在字段设置中将视图设置为指向 Display Suite 对象,然后单击该设置旁边的齿轮并选择您想要的构建模式使用。然后在你的 template.php 文件中,对那个构建模式做任何你需要做的特殊工作。

【讨论】:

感谢您的回答,我会试试这个 ;-) 但是我可以做不同的事情,而不安装新模块吗?所以正如我所说,例如使用钩子实现? 如果您不需要它们用于其他任何事情 - 例如粘性或预告片,您可以使用内置构建模式。否则,您需要覆盖实际的视图模板,例如 views-view--viewname--row.tpl.php 等。您可以通过单击“Them Information”查看特定的可用模板、它们的内容和候选文件名在视图 UI 左栏的底部 感谢大卫,但我使用 Drupal 6 和 Views 2,所以我没有这个选项。我知道如何个性化列表页面,其中列出了多篇文章,但是一旦你点击一篇文章,你就会到达一个包含一篇文章的页面,我想在视图名称的功能中重新定义这个页面。我被阻止因为我使用具有不同视图的相同主题,所以我无法编辑使用的 node.tpl.php,我想使用 node-VIEWNAME.tpl.php。 你可以做我在 Drupal 6 中描述的事情。事实上你不能做我在 Drupal 7 中描述的事情,因为 Views 3 完全不同。

以上是关于如何使用 Drupal 视图模块实现 node-VIEWNAME.tpl.php?的主要内容,如果未能解决你的问题,请参考以下文章

Drupal 视图模块

drupal - 如何在视图模块中为每种网格格式添加自定义 CSS?

如何在 Drupal 7 中使用视图模块列出和显示它们被分类词汇标记的项目

Drupal 和 Twitter Bootstrap,跨越视图

如何在 Drupal 6 的视图中显示完整节点?

Drupal:如何使用上下文来触发由视图引起的分类术语条件的反应?