用于视图参数的节点修订 VID
Posted
技术标签:
【中文标题】用于视图参数的节点修订 VID【英文标题】:Node Revisioning VID used for views argument 【发布时间】:2011-10-14 18:36:26 【问题描述】:我构建了一个节点引用字段,允许访问多种多媒体内容类型。然后我把它放在一个视图中,这样我就可以根据内容类型进行分组,所以图像与图像、文档与文档等。 在常规页面上显示的节点 NID 参数一切正常,如果该字段为空,内容将不会显示。但是,这也必须与修订一起使用。节点 NID 作为参数显示我的节点引用字段的当前发布版本,而不是最新修订版本。 Node Revision VID 没有将其设置为的默认参数,因此如果您将其保留为显示所有值,您最终会在具有空值的任何页面上显示视图。使用
打印节点引用字段<?php foreach ((array)$field_FIELD as $item)
print $item['view'];
?>
将打印出所有字段,但它们不按内容类型分组。在 tpl 文件中打印视图看起来像
<?php
$view = views_get_view('my_view_name');
$args = array($vid);
$output = $view->preview('block_4', $args);
if (!empty($view->result))
print $output;
?>
但是这个论点不起作用。我需要将 URL 中的最新修订版传递到我的 views 参数中,以便它只会显示在该特定页面上,或者想办法将我的 foreach 循环分组为内容类型。任何建议或帮助将不胜感激。
【问题讨论】:
【参考方案1】:从preview()
一直到set_arguments()
,您似乎需要传递一个数组作为参数:
$args = array($vid);
$output = $view->preview('block_4', $args);
【讨论】:
我试过了,还有 array($node->vid) 但它们似乎都没有工作,尝试将它设置在视图本身中,但似乎也无法让它工作...以上是关于用于视图参数的节点修订 VID的主要内容,如果未能解决你的问题,请参考以下文章
Drupal 视图 - 使用 CCK、NodeReference 和参数将 1 个节点与 N 个其他节点相关联