我有一个带有分类条款的内容类型。它是一个选择列表,所以它只能有一个分类 - 至少是那个词汇表。现在我需要构建一个列出具有相同分类的所有节点的视图。
认为这不会太难,因为它听起来很基本。但我无法让它发挥作用。有任何想法吗?我正试图避免为此编写模块。
答案 0 :(得分:10)
虽然这在其他一些答案中描述的视图2在技术上是可行的,但是视图3内置了这种集成。
您可以为分类术语ID创建参数,然后选择“提供默认参数”。然后,这将为您提供“URL中的分类术语ID”和“从节点页面加载默认参数...”的选项
这将允许您获取页面的分类并将其作为参数传递给视图块。
注意:视图3目前处于Alpha 3中,但根据我的经验处于相对稳定的状态,我在生产站点上使用它。如果它具有您认为有用的上述功能,请使用它,测试它并在遇到任何问题时提交错误/补丁!
答案 1 :(得分:4)
此答案适用于View版本2或更高版本。首先,您需要安装Views attach(http://drupal.org/project/views_attach)。在继续进行之前,请阅读有关视图附件。视频附件最好通过此视频http://mustardseedmedia.com/podcast/episode37
解释现在我们进入Views attach。请在继续之前启用视图附加模块。基本上Views attach
在节点的末尾附加一个视图。在我们的案例中,我们的观点将是具有相同术语的其他文章的列表。
我们基本上需要将节点的分类术语“传递”到视图中。让您的词汇表名称为MyVocab
。
制作视图的步骤。
display_other_articles_with_same_taxonomy
。 Node Content
类型的显示(启用视图附加后可用)。这是一个显示,就像块和页面显示一样,但具有将自身附加到节点的特殊能力。在Node Content Display
Node content settings
Node types: [select the content types you are interested in seeing the list of nodes with same taxonomy term]
Build modes: Teaser, Full node
Arguments: token
Show title: No
您应该在参数下选择Use tokens from the node the view is attached to
。让令牌为[term-id]
这是“顶级分类术语ID”。这是非常重要的!!从本质上讲,您将从MyVocab
传递节点的分类术语(参见http://groups.drupal.org/node/11788#comment-38332)。如果它具有最低权重,则分类词汇表将是节点编辑表单的分类法部分中的第一个词汇表。添加参数Taxonomy: Term Id
。
添加您感兴趣的字段,例如Node: Title
。通过勾选Node: Title
Link this field to its Node
成为超链接
那么这个观点将会是:
MyVocab
词汇表中获取分类术语display_other_articles_with_same_taxonomy
多数民众赞成!
如果你正在使用意见3(目前在写作时的alpha3)和你想要一个块(现在文章有相同的分类术语出现在节点体的末尾)你可以通过以下方式实现:
Node Content
显示的上述说明相同的参数,字段和过滤器。Taxononomy: Term Id
的设置:在Action to take if argument is not present:
下选择[x] Provide Default Argument
。选择[x] Taxonomy Term ID from URL
。现在确保取消选中[] Load default argument from term page
并[x] Load default argument from node page, thats good for related taxonomy blocks.
[x]Limit terms by vocabulary
并选择Series
词汇表。 注意:此答案是我在How to just show NodeQueue block on included nodes?提供的答案的子集。在该方案中,要求是明确选择相关文章并按特定顺序列出。它有点复杂,使用Nodequeues,我们根本不需要它。
答案 2 :(得分:2)
使用关系
答案 3 :(得分:1)
视图为您提供了添加过滤器的选项。单击视图管理界面的过滤器区域中的加号,从列表中选择分类,选中术语或ID,然后填写需要过滤的值。
编辑(明确说明):
首先,在您要尝试过滤的节点(如节点标题等)中的字段部分下添加所需的字段。
在“参数”下,单击加号并选择“分类法”
检查分类:术语,然后单击添加
点击更新
在预览区域中,通过添加参数并单击预览来测试它。如果它不起作用,您的节点没有附加的分类,您的视图模块已损坏,或者您没有按照说明进行操作。
答案 4 :(得分:-1)
一件事:
构建模式:预告片,完整节点
最好试试这个:
构建模式:完整节点
好像要在这里添加预告片,我认为它会获得每个预告片条款的帖子,我这样就会出现内存错误。但是当我从这里删除Teaser时,它可以正常工作。