通过分类法查看内容窗格“相关内容”

时间:2011-08-15 08:29:14

标签: drupal-7 taxonomy

我目前正在开发一个Drupal 7站点,我使用Page Manager的“node_view”来自定义“Article”内容类型的布局。 因此,每当查看文章时,我都希望显示一个带有“相关内容”的小方框。 我有一个分类词汇表“共享类别”,我在所有内容类型中都使用它。

例如,我还有一个“图库”内容类型,因此在使用“myTag”术语查看文章时,我想在“共享类别”词汇表中显示带有标记为“myTag”的图像的内容窗格。

我的问题是关于为内容窗格设置上下文过滤器。 “参数输入”应该是词汇还是术语? - 我已经尝试了两种方法,但无法让它发挥作用。

此外,我还有另一个问题:是否可以将内容窗格用作块,与Panel一起显示? - 我猜不是,因为Contextual过滤器值来自Page Manager。

2 个答案:

答案 0 :(得分:0)

您不希望在面板中手动输入参数,因为每篇文章都会有所不同。 您需要使用从节点获取tid的默认参数自动设置它。

要使相关内容块基于与正在查看的节点相同的术语显示内容,您需要在视图中添加分类术语id参数。 然后,您可以尝试“设置默认参数”并使用“来自URL的分类术语”(节点选项)

如果这不起作用,您可能需要使用默认参数区域中的PHP代码从节点获取相关的tid,使用node_load或menu_get_object来加载节点。

例如

if($node = menu_get_object()){
  if(isset($node->field_shared_category[$node->language][0]['tid'])){
    return $node->field_shared_category[$node->language][0]['tid'];
  }
}

答案 1 :(得分:0)

可以通过在块视图中使用上下文过滤器来显示相关内容。此块视图将包含与用户查看的当前内容相关联的内容。

你可以转到" Create related content block view based on terms in Drupal 7"博客文章,以获得创建此块视图的分步说明。