Drupal Views关系

时间:2010-10-05 16:34:05

标签: drupal drupal-6 drupal-views drupal-views-relationship

在Drupal中我有3种内容类型(A,B,C),请参阅link。 A和C包含对B的节点引用。

现在我有一个视图,它从参数中查询A中的字段。我还要通过关系芯片与B显示来自C的字段,所以:

  • A的节点引用ID为:
  • B的节点ID为:

    我想显示来自C的字段,其中ID的节点引用也是1.这怎么可能?我无法弄清楚地图。

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:2)

目前您可以通过节点参考轻松地从A到B,但由于链接是从C到B,您无法获取到C的链接 - 这是当前的问题。

简而言之,您可以使用模块Node Referrer解决问题(请参阅http://drupal.org/node/431308了解它的功能)。本质上,它创建一个只读字段,告诉您从C到B指向的所有节点(即为每个节点引用创建一种反向节点引用)。

所以我们假设我们有以下节点参考字段

  1. 在内容类型A中,我们有节点 名为a_to_b_link
  2. 的参考字段
  3. 在内容类型C中,我们有一个名为的节点引用字段 c_to_b_link
  4. 在内容类型B中,我们有Node Referrer字段来跟踪所有内容 节点参考中的链接 c_to_b_link
  5. 创建相应的视图需要更多一些。

    1. 首先为Node: Type = A
    2. 添加过滤器
    3. 添加关系a_to_b_link。确保勾选复选框 Require this relationship
    4. 从名为Node: Referrers的节点组添加另一个关系。还要确保您应该在关系的设置中 选择a_to_b_link下拉列表中的Relationship。换句话说,您正在创建一个使用预先存在的关系的关系(在概念上类似于C ++中指针指向的指针)确保勾选复选框Require this relationship。默认情况下,此关系由Drupal命名为Referencing Nodes
    5. 现在,您可以像添加内容类型A一样添加所需的任何字段 通常在视图中。
    6. 如果要从内容类型C添加字段,请确保选择 关系Referencing Nodes