Last active
December 8, 2015 18:41
-
-
Save woombo/219b146959f7110a3aab to your computer and use it in GitHub Desktop.
views_get_view(): SET filter/argument
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function function_name(){ | |
// Load params. | |
$query_parameters = drupal_get_query_parameters(); | |
// Load view. | |
$view = views_get_view('views_id'); | |
$view->set_display('views_display_id'); | |
// Load all exposed filters. | |
$filters = $view->display_handler->get_option('filters'); | |
// Validate and set filter. | |
foreach ($filters as $k => $v) { | |
// Set vars. | |
$identifier = $v['expose']['identifier']; | |
$value = $query_parameters[$identifier]; | |
// Define parameter. | |
$filtered_parameters[$identifier] = $value; | |
} | |
// Set exposed filters. | |
// http://www.grasmash.com/article/programmatically-render-drupal-view-exposed-filters-arguments-etc | |
$view->exposed_input = array_merge($filtered_parameters, (array)$view->exposed_input); | |
$view->exposed_raw_input = array_merge($filtered_parameters, (array)$view->exposed_raw_input); | |
$view->exposed_data = array_merge($filtered_parameters, (array)$view->exposed_data); | |
// Set arguments. | |
$args = array($arg1, $arg2); | |
$view->set_arguments($args); | |
// change the amount of items to show | |
$view->set_items_per_page(8); | |
// Execute. | |
$view->pre_execute(); | |
$view->execute(); | |
// Render. | |
return drupal_json_output($view->render()); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment