Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何按关系限制Drupal视图结果_Drupal_Drupal 6_Drupal Views - Fatal编程技术网

如何按关系限制Drupal视图结果

如何按关系限制Drupal视图结果,drupal,drupal-6,drupal-views,Drupal,Drupal 6,Drupal Views,我在以下关系中预定义了一组与Drupal杂志相关的内容类型: 故事:有标题、正文、作者、问题的必需节点引用、插图的可选节点引用 文章:具有标题、正文和对问题的必需节点引用 插图:具有图像和参与者配置文件 问题:有标题和日期 贡献者档案:有名字和姓氏 我想得到的是一个问题清单,其中有一个故事的例子,如果有。如果没有故事(可能只有文章),或者没有任何带有插图的故事,我只想列出问题的标题 因此,我正在寻找如下输出: [StoryImage]2010年12月 2010年11月 [StoryImage

我在以下关系中预定义了一组与Drupal杂志相关的内容类型:

  • 故事:有标题、正文、作者、问题的必需节点引用、插图的可选节点引用
  • 文章:具有标题、正文和对问题的必需节点引用
  • 插图:具有图像和参与者配置文件
  • 问题:有标题和日期
  • 贡献者档案:有名字和姓氏
我想得到的是一个问题清单,其中有一个故事的例子,如果有。如果没有故事(可能只有文章),或者没有任何带有插图的故事,我只想列出问题的标题

因此,我正在寻找如下输出:

[StoryImage]2010年12月
2010年11月
[StoryImage]2010年10月
[StoryImage]2010年9月
等等

在这一点上,我并不关心样式或标记——我可以搞定它

以下是我目前使用的视图设置,但该设置不起作用:

  • 过滤器:节点类型=故事、文章
  • 关系:
  • 内容:问题
  • 内容:插图
  • 内容:参与者,使用插图关系
  • 字段:
  • 内容:图像,使用插图关系
  • 节点:标题,使用问题关系
  • 排序标准:
  • 发行日期,降序
  • 贡献者姓氏,降序
我得到的(正如我所期望的)是每期文章/故事数量的列表。因此,如果2010年12月号有3个项目,11月号有2个项目,我得到的是:

[StoryImage]2010年12月
2010年12月
2010年12月
2010年11月
2010年11月


我真正想要的是每个问题的第一个结果。有可能吗?如果有,我遗漏了什么?

您是否尝试过“独特”过滤器?我不确定您的日期字段是否可用,但每当我获得具有视图的笛卡尔产品时,我都会使用该字段。

只需使用drupal db api并编写寻呼机查询即可。根据我的经验,视图在大多数情况下都是有效的,但并非所有情况下都是有效的。

在视图的高级设置中,启用聚合。然后确保视图中的第一个字段是您试图获得不同结果的内容类型的NID(在您的情况下,我认为这将是一个问题),以便它首先按该字段分组。您可能还需要在节点标题字段上设置aggregation=MIN

我在这里找到了这些信息:


注意:我刚刚注意到您的问题被标记为Drupal 6,这个解决方案很可能特定于Drupal 7,但这个答案可能会帮助其他人。

Berkes:不幸的是,我认为这种情况下的“独特”过滤器适用于故事/文章,而不是问题,因为它没有效果-/@梅丽莎:模块可以为他们的领域提供“独特的”。如果一个模块没有提供一个独特的,它将不适用于该领域。在这种情况下,除了扩展/破解模块之外,我怀疑还有其他解决方案需要改进。尽管你的答案非常正确,但这远远超出了问题的范围。Melissa并没有问“我是否应该不使用FOO的视图”,而是“如何在视图中解决这个问题”。我们不知道她还需要什么。不幸的是,似乎没有办法用视图来实现这一点,所以我的最终解决方案需要使用page_query()。