0

我有一个名为 Author 的内容类型,它通过节点参考模块在另外两个名为 Novel 和 Book 的内容类型中引用。所以我们可以将作者实体添加到 Book 和 Novel 内容类型。Novel 和 Book 都包含另一个名为 Release Date 的字段。现在我想显示一个块,当用户访问相应的作者页面时,它将根据发布日期按时间顺序显示书名和小说名。

前任。假设 A 是 BookA(Release Yr-2006)、NovelB(Release Yr-2004)、BookC(Release Year-2009)的作者。当用户来到作者 A 页面时,他将看到一个块,该块将按时间顺序显示书籍/专辑,如下所示:- NovelB--BookA--BookC

请建议如何在 Drupal 7 中实现。

4

2 回答 2

0

您要显示以下字段title(我假设书名是节点标题)

对于排序,您可以在视图中使用排序选项,这很不言自明。选择发布日期字段的名称。

对于作者和书籍之间的连接,您必须使用上下文过滤器(高级)。添加author-reference-field来自您的书/小说(您用来指代作者的字段)。然后选择使用默认值(第二个选项)并选择content id from url. 现在,您的块将找到引用具有当前 page-id 的页面的所有节点。由于我们选择显示标题字段,您应该会看到一个列表。

请注意,实时预览在此处不起作用,因此您必须转到实际页面才能查看结果。

更新:当您为两种内容类型重新使用相同的字段时,此方法有效。如果您使用了多个字段,则必须使用 OR 运算符来使上下文过滤器起作用。感谢d34dman 提供了以下页面来做到这一点。尽管对于新的实现,我建议对所有内容类型的所有引用使用相同的字段(例如 reference_to_author)。

于 2012-11-28T11:47:42.000 回答
0

是的..我可以通过添加自定义代码来解决这个问题。我使用了 hook_views_query_alter 方法,然后根据要求添加了连接关系和 where 子句。请参阅以下文章以获得更清晰的信息.. http://www.midwesternmac.com/blogs/jeff-geerling/filtersearch-multiple-fields

感谢您发布回复并保持我的希望。

于 2012-12-04T05:51:23.630 回答