2012-11-27 62 views
0

我有一种名为Author的内容类型,它在另外两种称为Novel和Book的内容类型中通过Node Reference Module引用。因此,我们可以将作者实体添加到Book和Novel内容类型。 Novel和Book都包含另一个称为发布日期的字段。 现在我想显示一个块,它将根据用户来到相应的作者页面时的发布日期,按时间顺序显示书的名称和小说的名称。Drupal 7:在单一视图中结合多种内容类型

Ex。假设A是作者BookA(Release Yr-2006),NovelB(Release Yr-2004),BookC(Release Year-2009)的作者。当用户来到笔者一个页面,那么他将看到一个块,它会显示在时间顺序是这样的书籍/相册: - NovelB - BookA - BookC

请建议如何在Drupal 7实现。

回答

0

要显示以下字段title(我认为这本书的名字是结题)

对于排序,你可以在视图中使用排序选项,它是相当自我解释。选择您的发布日期字段的名称。

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

注意,实时预览不能在这里工作,所以你必须要到实际的页面看到的结果。

UPDATE: 这个工作当你再次使用相同的字段两个内容类型。如果您使用多于一个字段,则必须使用OR运算符来使上下文过滤器正常工作。由于d34dman以下page被给予这样做。 虽然对于新的实现,我会推荐对所有内容类型的所有引用使用相同的字段(例如reference_to_author)。

+0

感谢您的回复。当我需要显示book/Novel中的一个内容时,无论您提出什么建议都可以正常工作。但在此我想显示两个内容,然后我需要在上下文过滤器中添加两个连接。这不会带来任何结果,因为多个上下文过滤器将支持AND,并且此次所有数据都被过滤掉了。也无法将OR逻辑添加到上下文过滤器。请帮助我,因为这个障碍正在毁掉我的一天。 – user1843970

+1

这取决于,我总是重新使用我的领域。为几种内容类型使用具有相同属性的字段。这使得一切都变得更加简单。所以当你为两种内容类型使用相同的字段时。 (添加现有字段)结果将来自两种类型 – Neograph734

+0

Incase给出'OR'节省一天,请查看[this](http://mario.net.au/content/drupal-views-contextual-filter-或运营商)关于如何将上下文过滤器更改为或的文章。并且请相应地更新答案以供参考。 – D34dman

相关问题