Dan*_*anH 2 default drupal drupal-views
基本上我有一个名为' promo ' 的视图,它建立在Nodequeue上.它被限制为1行,并按Global:Random排序
视图本身用于网站上的块.
另外,视图相同的视图用于节点引用字段' field_promo '.
我想要做的是从促销视图中获取最近的2行,并使用这些行作为field_promo的默认值.
这需要的是我:
...
写完所有这些并确保我不是白痴,我已经收集了我可能会在下面发布的解决方案,因为我花了这么长时间才找到它!(将在8小时后发布解决方案,如果你在发布之前解决问题,我会给出分数:P)
这是我提出的解决方案:
$view = views_get_view('promo_feature');
$view->init_display();
$view->preview=TRUE;
$view->is_cacheable = FALSE;
$view->display_handler->set_option('items_per_page',2);
$view->set_item('default', 'sort', 'random', NULL);
$view->add_item('default', 'sort', 'node', 'created',array('order' => 'DESC'));
$view->pre_execute();
$output = $view->display_handler->preview();
$view->post_execute();
$return=array();
foreach($view->result as $row){
$return[]=array('nid' => $row->nid);
}
return($return);
Run Code Online (Sandbox Code Playgroud)
$ view-> set_item($ display,$ type,$ id,NULL)从视图中删除该项
我怀疑这个代码有一个更精致的版本,但是我花了这么长时间才到达那里我害怕触摸它以防万一我摧毁它:)