Есть представление.
Есть хук который запускает его:
...
$r = views_get_view_result('mildlyadat', 'page_1');
...
У этого представления есть раскрытый критерий фильтрации.
Сейчас Представление выводится - По умолчанию.
Как программно менять раскрытый критерий фильтрации?
Спасибо.
Комментарии
Вопрос непонятен...
Если просто программно отрендерить views то для этого можно использовать рендер массив, с соответствующим элементом https://api.drupal.org/api/drupal/core%21modules%21views%21src%21Element...
А что не понятно?
Представление делается запросом к БД.
Запрос меняется в зависимости от того что выбрал клиент в выпадающем списке.
Как это сделать в программе? Имея на входе переменную сформированную из одного из компонентов этого выпадающего списка.
Я тут дочитался что нужен:
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);
}
//}
Только сейчас стало понятно, что вам надо альтернуть запрос
Дак у вас код кривой, сразу же видно. Функция внутри функции
Это где? Строку приведите пожалуйста
А, с телефона криво было. Код хуков чаще всего срабатывает только после сброса кэша. Да и drupal_set_message - это не лучшее средство для дебага. Смотрите в xdebug выполняется ваш хук или нет
С выполнением Хука я решил проблему
Теперь вопрос - как внутри этого Хука получить значение поля Ноды
Господи. Зачем же так всё заморочено? С какой целью?