Вы здесь

Как игнорировать раскрытые фильтры при программном получении Views?

0
$view = \Drupal\views\Views::getView('my_views'); 
if (is_object($view)) {
  $view->setArguments($args); //добавляем аргументы URL для контекстного фильтра из переменной
  $view->execute();
  $response = $view->result;
}
  1. Захожу по ссылке на страницу views (аргументы из URL учитываются), список материалов в $response получаю как нужно.
  2. Меняю раскрытый фильтр, страница перезагружается и в $response я получаю результаты учитывая раскрытые фильтры.

Как получить список материалов из учитывая только контекстные фильтры, когда пользователь выбирает что-то из контекстного фильтра пусть результаты на странице views фильтруются, но в моём $response мне нужно получить без учета контекстных фильтров?

Версия Drupal: 
8.x
Вопрос задан 02.09.2017 - 17:04

Ответы

1

Принудительно добавить значение раскрытого фильтра $view->setExposedInput(array('field_tip' => 'All'));

   $view = \Drupal\views\Views::getView('my_views'); 
if (is_object($view)) {
  $view->setArguments($args); //добавляем аргументы URL для контекстного фильтра из переменной
  $view->setExposedInput(array('field_tip' => 'All'));
  $view->execute();
  $response = $view->result;
}
Ответ дан 03.09.2017 - 13:56