如何获取视图的结果并将它们存储在php var中?

问题描述:

我有我在drupal中设置的自定义视图。我想要做的是进行某种函数调用,然后将结果赋给一个php变量。我希望在这个新变量中使用视图的内容(而不是视图导出的结果)。这是可行的吗?如果它是一个函数调用,我也会赞赏一个小例子。谢谢!如何获取视图的结果并将它们存储在php var中?

我并没有在视图中做过多的黑客攻击,但它看起来也许是views_embed_view()可能是你正在寻找的东西。我在这里找到了一个很好的视图API概览:http://www.trellon.com/content/blog/view-views-api

+0

谢谢,这就是我一直在寻找的。 – ford 2010-07-30 22:05:28

您可以通过函数views_get_view($ view_name)获取视图对象。

如果你通过视图的内容意思是视图对象本身就需要简单:

$view = views_get_view('name_of_the_view'); 

但是,如果你的意思是你的视图返回的数据,你需要多一点点。

$results = views_get_view_result('name_of_the_view', 'display_id'); 

最后,如果您希望拥有更多的控制权,您可以尝试其他方法,创建视图对象并在之后进行处理。

//variables for your view, display and resulting array  

$my_view_name = 'yourview'; 
$my_display_name = 'yourdisplay'; 
$my_arguments = array(); 

//Creating the view object and configuring it 
$view = views_get_view($my_view_name); 
if ($my_arguments){ 
    $view->set_arguments($my_arguments); 
} 
$view->get_total_rows = True; 
$view->set_items_per_page(0); 
$view->build($my_display_name); 
$view->execute($my_display_name); 

//now you have your data array 
$view_results_array = $view->result;