2

带有相关模块的 Drupal 7:视图和实体参考

我有一个简单地显示两个不同内容类型记录的“预告片”显示类型的视图,我们会说它们是文章和页面。

My Article CT 显示了一些简单的字段。

My Page CT 有几个字段,还有一个实体参考字段(无限条目)。实体参考字段指向其他文章节点。

然后,正如预期的那样,“我的视图”显示每条记录的 Teaser 显示,当然,当 Page 记录引用另一个 Article 记录时,该 Article 的 Teaser 将显示为 Page Teaser 的一部分。

这很棒。问题是,我不想显示重复的文章预告片。这意味着,如果页面引用了一篇文章,我不想将相同的文章预告片显示为单独的列表。

这样想,我有这些文章:

  1. 第1条
  2. 第二条
  3. 第三条

我有这些页面:

  1. 第 4 页
  2. 第 5 页
  3. 第 6 页

第 4 页点 -> 在第 1 条和第 2 条

第 6 页点 -> 在第 2 条

TL;博士

现在视图将显示如下内容:

  • 第1条
  • 第二条
  • 第 4 页
    • 第1条
    • 第二条
  • 第 5 页
  • 第 6 页
    • 第二条
  • 第三条

我想要的是这样的:

  • 第 4 页
    • 第1条
    • 第二条
  • 第 5 页
  • 第 6 页
    • 第二条
  • 第三条

编辑:这是我正在尝试做的快速图表。顺便说一下,这是对视图使用“内容”而不是“字段”,因为两个 CT 的视图中存在不相等的字段。

图表

4

3 回答 3

3

问题在于,从数据库的角度来看,这些记录实际上不同的,因为不同的实体引用生成了多条记录。

Drupal 8 的核心问题是Views relationship with multi-valued entity reference fields invalidate Distinct query option。那里应该有可用的补丁。

对于 Drupal 7,使用Views Distinct模块,因为它可能不会在 Views 中修复

于 2020-01-16T17:27:26.720 回答
2

Advanced部分下的查看页面。点击Other-> Query settings: Settings。然后选中Distinct复选框。

于 2012-12-03T14:09:01.133 回答
2

我最终通过使用对应实体引用模块 (CER) 解决了这个问题。这会创建在父 <-> 子之间同步的 2 向关系。使用它,我可以简单地从视图中过滤所有具有父级的子级。

于 2012-12-04T14:20:57.030 回答