Drupal视图:列出引用的节点,但用作上下文过滤器的节点除外

时间:2015-04-29 20:19:59

标签: drupal drupal-views

我有以下情况:我正在建立一个网站,其中包含有关电影制作人及其电影的信息。我有一个电影制作人的节点类型,有传记内容等,另一个用于电影,有一个字段'作者'它引用了一个或多个电影制作人(因为一部电影可能是由几部电影制作的)。

我还有一个名为“电影摄影”的观看块。列出了作者是用户所看到的电影制片人(节点)的所有电影。使用上下文过滤器进行设置非常简单。

但是现在我想和这部电影名称一起出现在这个片段中,所有可能制作电影的电影制片人(电影节点中的作者'字段)与电影制片人不同查看。显示作者字段引用的所有电影制作者节点是立即的,但我想删除我在上下文过滤器中使用的电影制作者。目标是得到这样的东西:

电影制片人1

  • 电影1
  • 电影2 Filmmaker 2
  • 电影3

我认为这可以使用视图php并过滤返回的节点引用来完成,但我想知道是否有更简单的解决方案......

由于

更新:我设法使用视图字段视图模块获取结果,将引用的节点列表(电影制作者)作为上下文过滤器(节点ID)传递,然后添加另一个上下文过滤器(节点ID)作为排除,并从“网址”选项'节点ID中获取字母的默认值(也就是说,从电影制片人的页面中嵌入了电影摄影视图)。保持问题一段时间以获得其他可能更有效的替代方案。

1 个答案:

答案 0 :(得分:0)

当我阅读你的问题时,视野现场视图模块作为明显的解决方案突然出现在我的脑海中(然后我看到了你的编辑)。我认为这仍然是你最好的选择。绝对避免使用php字段,因为从安全角度来看,这不是一个好的做法。如果您担心效率/性能,那么您应该只使用高级选项下的视图缓存设置。似乎总是要查看此选项。

如果您正在寻找替代选项,可能会使用渲染节点作为您的视图样式而不是字段,然后使用Display Suite生成超出"默认"的其他显示模式。和#34; Teaser,"使用过滤器创建视图,然后使用实体视图附件(EVA)模块将视图作为显示模式字段插入。虽然这肯定是一种强大的方法,但它会为渲染的实体增加大量的处理开销,因此您肯定也想要缓存它的结果。

P.S。您可能会在https://drupal.stackexchange.com/

处获得更快/更多的回复