【发布时间】:2011-06-20 00:53:42
【问题描述】:
这是我的设置:
我定义了一个包含多值文件字段(“field_myfilefields”)和多值 emvideo 字段(“field_myemvideos”)的节点类型。 我创建了一个这种类型的节点,并且(例如)用两个文件字段和三个 emvideo 填充它。 我定义了一个视图,其中包含以下字段:field_myfilefields、field_myemfields。
我想要什么:
在本例中,我希望视图创建五行,每行一个视频。
我得到了什么:
Views 创建 6 行,每行包含一个文件字段和一个 emvideo 字段:
- 第 0 行:文件字段 0,emvideo 0
- 第 1 行:文件字段 0,emvideo 1
- 第 2 行:文件字段 0,emvideo 2
- 第 3 行:文件字段 1,emvideo 0
- 第 4 行:文件字段 1,emvideo 1
- 第 5 行:文件字段 1,emvideo 2
也就是说,视图循环通过文件域,并且对于每个文件域循环通过emfields。每个视频显示两次。我可以理解为什么视图会这样做,但这不是我想要的,我希望这是一种解决方法。
关于如何强制每行一个视频并避免重复视频有什么建议吗?
附:我尝试使用视图的“分组多个值”复选框。但这并没有解决问题。
【问题讨论】:
-
当您将视图定义为显示两个字段时,它将显示两个字段。我认为您需要将视图分成 2 个视图,一个用于 field_myfilefields,一个用于 field_myemfields。或者,您可以使用视图的更改功能来更改视图数据库查询
-
查看视图 2 UI,我没有看到更改数据库查询的选项。我在哪里可以找到这个选项?谢谢。
-
好吧,你必须构建一个新模块,然后使用 views hook 或特定的 hook_views_query_alter 。我不认为它是正确的解决方案。如果由我决定,我会建立两个单独的视图..
-
非常感谢。经过进一步思考,我会采纳你的建议,创建两个不同的视图,并使用视图 API 将两组行组合起来。
标签: drupal drupal-6 drupal-views