代码之家  ›  专栏  ›  技术社区  ›  ford

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

  •  0
  • ford  · 技术社区  · 16 年前

    我在Drupal中建立了一个自定义视图。我想做的是进行某种类型的函数调用,然后将结果赋给一个PHP变量。我希望视图的内容(而不是视图导出的结果)在这个新变量中。这是可行的吗?如果是函数调用,我也希望有一个小例子。谢谢!

    2 回复  |  直到 12 年前
        1
  •  1
  •   bkildow    16 年前

    我在视图中没有做过太多的黑客活动,但看起来可能 views_embed_view() 可能是你想要的。我在这里找到了视图API的一个很好的概述: http://www.trellon.com/content/blog/view-views-api

        2
  •  1
  •   ndvo    13 年前

    您可以使用函数视图获取视图对象。

    如果您所说的视图内容是视图对象本身,您只需要:

    $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;