2

在我的 drupal 7 中,我有 2 种如下内容类型:

  • 内容A
  • ContentB(具有对 ContentA 的字段实体引用)

在 ContentA 的前端详细信息页面中,我想显示一个带有 ContentB 列表的块/视图,该列表的 Entity Reference 字段设置为当前 ContentA。

我创建了 Block 类型的视图并将其正确添加到页面中,但我无法根据当前 ContentA 过滤 ContentB。

你可以帮帮我吗?

谢谢

4

1 回答 1

3

您应该为将用于过滤到 ContentB 的块视图的值添加一个上下文过滤器。然后在“当过滤器值不在 URL 中”区域的上下文过滤器中选择“提供默认值”并输入“PHP 代码”(您应该为此启用 php 过滤器)。在您的 php 代码区域中,您应该有以下代码

$node=menu_get_object();
 return $node->field_your_machine_field_name['und'][0]['target_id']; // this is the field you will use for fitlering

希望能帮助到你

更新

如果您需要在块中显示具有相同选择的类似结果(例如 ContentB 的类似结果在 ContentA 的引用字段中具有相同选择),上述代码将起作用。我不会删除,因为您可能也需要它在您的项目。我误解了。实际上解决方案更简单。您应该将上下文过滤器添加到该字段并在“当过滤器值不在 URL 中时”区域中选择“提供默认值”和“从 url 提供 id”

于 2014-10-17T11:52:45.363 回答