0

我构建了一个节点引用字段,允许访问多种多媒体内容类型。然后我将它放在一个视图中,以便我可以根据内容类型进行分组,因此图像带有图像,文档带有文档等。使用 node 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 循环分组为内容类型。任何建议或帮助将不胜感激。

4

1 回答 1

0

preview()沿着链从to一路向下set_arguments(),看起来您需要传递一个数组作为参数:

$args = array($vid);
$output = $view->preview('block_4', $args);
于 2011-10-14T18:45:33.480 回答