У меня есть просмотр страницы с открытыми фильтрами. Один из фильтров - это словарь терминов, и из раскрывающегося списка пользователь может выбрать только одну категорию (термин).
Я хочу, чтобы программно установить один термин из выпадающего списка, когда я пришел с определенного URL. Я пробовал с views_query_alter
где $category
есть tid
.
$set_exposed_input = array();
$set_exposed_input['field_category_tid'] = $category;
if ($set_exposed_input) {
$view->set_exposed_input($set_exposed_input);
}
Ответы:
Для Drupal 7 вы можете использовать
Это
Для полного примера вы можете попробовать это:
Другой способ - использовать функцию view set_option
источник
Установите выставленное значение фильтра как это:
источник
с Drupal 7.54, когда вы хотите обработать открытый фильтр программным способом, это то, как вы делаете это, когда у вас есть многозначное поле. Решение о том, как пропустить открытый фильтр, состоит в том, чтобы следить за тем, как создается URL.
Здесь: view_name? Alias [1] = 1
Вы можете выполнить это где угодно. Желательно из файла модуля.
источник