我有以下情况:我正在建设一个网站,其中有关于电影制作人和他们的电影的信息。我有一个节点类型的电影制作人,具有传记内容等,另一个为电影,与一个领域的“作者”,引用一个或多个电影制作者(因为一部电影可能是由他们中的几个)。
我还有一个名为“电影记录”的视图块,它列出了所有作者是用户正在观看的电影制作者(节点)的电影。用上下文过滤器设置这个非常简单。
但现在,我想在这个街区,以及电影的名称,所有的电影制作者可能已经制作了电影(在电影节点的‘作者’字段),是不同的电影制片人被观看。显示由作者字段引用的所有电影制作者节点是即时的,但我想删除我在上下文过滤器中使用的电影制作人。我们的目标是得到这样的东西:
电影制作人1
我认为这可以使用视图php并过滤返回的节点引用,但我想知道是否有更简单的解决方案.
谢谢
更新:我成功地使用视图字段视图模块获得了一个结果,将引用节点(电影制作者)的列表作为上下文过滤器(节点ID)传递,然后添加另一个上下文过滤器(节点ID )作为排除,并从‘节点id从URL选项’(即从电影制作人的页面中嵌入了文件记录视图)获得字母的默认值。让这个问题开放一段时间,以获得其他可能更有效的替代方案。
发布于 2015-04-30 15:35:49
当我读到您的问题时,视图字段视图模块突然出现在我的脑海中,作为显而易见的解决方案(然后我看到了您的编辑)。我想这仍然是你最好的选择。一定要避免使用php字段,因为从安全的角度来看,这通常不是一个好的实践。如果您关心的是效率/性能,那么您应该只使用高级选项下的视图缓存设置。看来这个选项总是被仔细考虑的。
如果您正在寻找其他选项,一种可能是使用呈现的节点作为视图样式而不是字段,然后使用Display Suite生成“默认”和“挑逗”以外的其他显示模式,使用筛选器创建视图,然后使用实体视图附件(EVA)模块插入视图作为显示模式字段。虽然这当然是一种健壮的方法,但是它会增加许多处理被呈现实体的开销,所以您肯定也希望缓存结果。
附注:您可能在https://drupal.stackexchange.com/上得到更快/更多的响应
https://stackoverflow.com/questions/29953759
复制相似问题