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