如何获取由给定节点id的视图输出的附加文件(以编程方式) - Drupal

时间:2012-05-01 11:47:56

标签: drupal views

我正在使用模块。 我有一个节点ID。该节点id是一个页面,它上面有两个或更多的视图块。视图的结果是带有文件附件的节点列表。

我需要将所有文件附加到此特定页面上视图输出的节点上。

我在一个模块文件中工作,我可以提供这些视图所在的类型页面的nid。

我找不到多少帮助,所以我决定问一下最好的方法。

我是Drupal的新手,所以我将非常感谢如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,您需要打印带有参数集的视图。 抓取视图的机器名称和显示ID(在Drupal 6 Views 2中,将鼠标指针悬停在显示列表(Block,Page等)上,在URL中,您将看到类似“block_4”或“page_1”的内容。显示ID。在D7 Views 3中,您可以在右侧窗格中设置的高级字段中设置显示ID。

如果View的计算机名称为“my_view”且显示ID为“block_1”, 您可以使用以下代码在node.tpl.php或任何地方打印视图。

<?php
print views_embed_view('my_view', 'block_1', array(arg(1)));
?>

arg(1)包含节点ID。如果您将代码放在node.tpl.php或其变体中,则arg(1)始终是节点ID。如果转到page.tpl.php,请确保arg(1)至少为数字。

在视图中,您必须添加一个参数(上下文过滤器,在D7中),以使View正确获取参数。您还可以设置上下文过滤器以自动从URL获取参数。