$view=views_get_view($view_name); if(is_object($view)) { $view->set_arguments(array(3)); $view->preview(); // print HTML $results=$views->result; // object results } $results = views_get_view_result($view_name, $display_id, array(3)); // object results // 多值參數 $view->set_arguments(array(implode(',', $ids)));
注意set_arguments是接受一個array,而array的元素是表明每一個views中設置的contextual filters。若是contextual filter被設置爲Allow multiple values,則容許多值參數,但輸入的還是string,不是array。多值能夠用,或者+來分隔。php
$view = views_get_view($view_name); $view->display_handler->default_display->options['filters']['xxx']['value'] = 'xxx'; print $view->preview();
$view = views_get_view($view_name); $view->display_handler->default_display->options['pager']['type'] = 'some'; $view->display_handler->default_display->options['pager']['options']['items_per_page'] = 30; print $view->preview();
Contextual filters: Content: Has taxonomy term ID Provide default value Raw value from URL Path component: 2 When the filter value IS in the URL or a default is provided Override title: %1 Path: /xxx/% Filter criteria: Content: Published (Yes) Content: Type (= Xxxx)
Relationship: Vote results Add sort criterion: Vote results: Value, Relationship: Voting results
$view = views_get_view($view_name); if(is_object($view)) { $view->set_display($display_id); $view->set_exposed_input(array('sort_by' => 'publish_date')); return $view->preview(); }
/** * Implements hook_views_pre_render */ function hook_views_pre_render(&$view) { if($view->name == 'view_name' && $view->current_display == 'display_id') { foreach($view->result as $key => $row) { unset($view->result[$key]->field_name); } } }
解決方法: 一、在views編輯裏面找到filter criteria,點擊add 找下 內容: Type 二、用Grouped filters 不要用Single filter,選擇後再填完相關信息後方能夠顯示。 注意:下面必定要選擇any, 不能選擇其它,不然就不能所有顯示。
function hook_views_pre_view(&$view, &$display_id, &$args) { if ($view->name == 'view_name') { if(!empty($_GET['field_xxxxx'])) { if($_GET['field_xxxxx'] == 1) { if(!empty($view->display['default']->handler->options['filters']['field_xxxxx'])) unset($view->display['default']->handler->options['filters']['field_xxxxx']); } } } }