Как программно запустить Представление с различными раскрытыми критериями фильтрации?

Аватар пользователя kompospec kompospec 10 мая в 17:51

Есть представление.
Есть хук который запускает его:
...
$r = views_get_view_result('mildlyadat', 'page_1');
...

У этого представления есть раскрытый критерий фильтрации.
Сейчас Представление выводится - По умолчанию.
Как программно менять раскрытый критерий фильтрации?

Спасибо.

Комментарии

Аватар пользователя kompospec kompospec 10 мая в 22:50

А что не понятно?
Представление делается запросом к БД.
Запрос меняется в зависимости от того что выбрал клиент в выпадающем списке.
Как это сделать в программе? Имея на входе переменную сформированную из одного из компонентов этого выпадающего списка.
Я тут дочитался что нужен:
MYMODULE_views_query_alter
https://qastack.ru/drupal/26431/add-filter-criteria-in-views-programmati...

Но оно что-то у меня не срабатывает:

//function dummy_views_query_alter(&$view, &$query) {

function dummy_views_query_alter(ViewExecutable $view, QueryPluginBase $query) {

drupal_set_message('hhhhhhhhhhhh', 'error', TRUE);

}
//}

Аватар пользователя kompospec kompospec 11 мая в 9:44

ivnish wrote:
Дак у вас код кривой, сразу же видно. Функция внутри функции

Это где? Строку приведите пожалуйста

Аватар пользователя ivnish ivnish 11 мая в 10:45

А, с телефона криво было. Код хуков чаще всего срабатывает только после сброса кэша. Да и drupal_set_message - это не лучшее средство для дебага. Смотрите в xdebug выполняется ваш хук или нет

Аватар пользователя kompospec kompospec 11 мая в 17:11

С выполнением Хука я решил проблему

Теперь вопрос - как внутри этого Хука получить значение поля Ноды

Господи. Зачем же так всё заморочено? С какой целью?