0

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

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

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

我找不到太多帮助,所以我决定询问解决此问题的最佳方法。

我是 Drupal 的新手,所以我会很感激关于如何解决这个问题的一个很好的解释。

4

1 回答 1

0

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

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

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

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

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

于 2012-05-01T14:13:52.810 回答