How to execute views programmatically in drupal 7?
Views is one of very useful module for drupal, it can be used to setup front page, taxonomy term pages, show views in blocks that are assigned to different regions and many more. We can also execute views programmatically. Here is some code snippet for this.
$filters = $_POST; $exposed_filters = array(NULL); foreach($filters as $key => $filter_value){ if($filter_value !='') { $exposed_filters[$key] = $filter_value; } } $view = views_get_view('view_name'); $view->set_current_page(0); $view->set_items_per_page(20); $view->set_exposed_input($exposed_filters); $view->is_cacheable = FALSE; $view->execute();
Change “view_name” to your view name that you want to execute. I have set $exposed_filters with array(NULL) that will be passed to $view->set_exposed_input when all filter values are not posted. When we execute any view programmatically which have exposed filters without array(NULL) then views will use any suitable filter values which might cause of wrong results.