如何在Drupal-7中的视图之间传递参数

时间:2011-04-14 22:27:12

标签: drupal arguments drupal-views drupal-7 drupal-theming

我一直发现自己面对以下用例,并且尚未找到合适的工作流程/解决方案:

我想显示两个视图。

在第一个视图中,每行显示一个类型为x的节点。

第二个视图显示了类型为y的节点,它们通过节点引用与节点类型-x相关联,如下所示:

    View-1   View-2
    ------   ------
row1 X-a <---> Y-a
row2 X-b <---> Y-b
row3 X-c <---> Y-c
row4 etc <---> etc

例如,X是一个事件,Y是一个场地。或者,X是一个组合页面,Y是一个分页画廊。

我理解还有其他方法可以解决这个问题 - 例如使用节点视图而不是字段,但我正在尝试利用视图创建2个不同的自定义查询,这些查询与从一个视图传递到另一个视图的参数相关。

这是我之前提到的问题的变体(Programmatic Views in Drupal 7),希望澄清。

非常感谢任何帮助,甚至(特别是)只是在语义层面上。

3 个答案:

答案 0 :(得分:1)

嗯我不确定我是否理解正确,但我认为您要做的是将参数传递给视图,然后通过它过滤结果。

在UI中配置参数的选项称为“上下文过滤器”。

然后你可以像这样从你的代码中调用视图(假设你的参数是一个节点id):

<?php
    print views_embed_view('example_view', 'page', $node->nid);
?>

答案 1 :(得分:1)

如果我理解,我认为最好的方法是只使用一个视图,并在节点引用上设置关系。然后为您从第一个节点显示的字段创建一个字段,为第二个节点创建一个字段。

答案 2 :(得分:1)

您应该使用EVA模块。它以优雅的方式满足您的需求。

https://drupal.stackexchange.com/questions/5732/is-there-a-good-tutorial-for-entity-views-attach-module