Answers:
已经有一个功能可以完全满足您的需求:
$result = views_get_view_result('my_view_name', 'default', $arg1, $arg2, ...);
在api.drupal.org的页面上了解更多信息:
https://api.drupal.org/api/views/views.module/function/views_get_view_result/7
$ view-> preview()通常用于简单地查看显示,换句话说,它将通过指定的格式呈现它。
$ view-> execute_display()也以视图中指定的相关格式返回显示。
我认为您可能必须直接执行查询即db_query()
如果view::preview()
将代码存入自己的代码中,应该会获得一些成功,但是要对其进行更改,以使其代替->display_handler->preview()
调用->execute()
而不是调用:
$view = views_get_view($view_name);
$view->set_display($display_name);
$view->preview = TRUE;
$view->pre_execute($args);
$view->execute($display_name);
这应该起作用,因为对于大多数显示处理程序而言,对的调用...->display_handler->preview()
实际上只是对回叫的包装view::render()
。本身以调用开始$this->execute(...)
。