当一个CT引用另一个CT时,如何消除视图中的重复Drupal节点?

问题描述 投票:1回答:3

Drupal 7及其相关模块:视图和实体参考

我有一个视图,简单地显示了两个不同内容类型记录的“ Teaser”显示类型,我们将它们称为文章和页面。

我的文章CT中显示了一些简单的字段。

我的页面CT有几个字段,但是还有一个实体引用字段(无限制的条目)。实体引用字段指向其他Article节点。

然后,按预期,我的视图将显示每个记录的预告片显示,当然,当页面记录引用另一个文章记录时,该文章的预告片将显示为页面预告片的一部分。

太好了。问题是,我不想显示重复的文章预告片。这就是说,如果某个页面引用了某条文章,则我不想显示与单个列表相同的该条文章预告片。

这样想,我有这些文章:

  1. 第1条
  2. 第2条
  3. 第3条

而且我有这些页面:

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

第1页和第2页的第4页要点->

第2页的第6点->

TL; DR

现在该视图将显示类似:

  • 第1条
  • 第2条
  • 第4页
    • 第1条
    • 第2条
  • 第5页
  • 第6页
    • 第2条
  • 第3条

我想要的是:

  • 第4页
    • 第1条
    • 第2条
  • 第5页
  • 第6页
    • 第2条
  • 第3条

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

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS8yam9Fci5qcGcifQ==” alt =“ Diagram”>

drupal-7 drupal-views entityreference
3个回答
1
投票

我最终通过使用相应实体引用模块(CER)将其删除。这将创建一个在父级子级之间同步的2向关系。使用它,我可以简单地从视图中过滤所有具有父级的子级。


0
投票

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

希望这可以帮助...穆罕默德。


0
投票

问题是记录实际上与数据库观点不同,因为存在由不同实体引用生成的多个记录。Drupal 8的核心问题是Views relationships with multi-valued entity reference fields invalidate Distinct query option。那里应该有可用的补丁。

对于Drupal 7,将Views Distinct模块用作it probably won't be fixed in Views

© www.soinside.com 2019 - 2024. All rights reserved.