Как изменить текст элемента фильтра в drupal 7 views exposed filter?

Есть Views, выводятся элементы словаря, сделан exposed filter в виде select, фильтруется по другому словарю:
1 - В текст элемента фильтра выводится поле name из термина, как сделать чтоб выводилось другое поле, например description?
2 - Как сделать так, чтобы в список элементов фильтра попадали термины, выбор которых не даёт пустой результат?
  • Вопрос задан
  • 2547 просмотров
Решения вопроса 1
@box1024
Exposed filters - это обычная форма. То есть вы можете использовать в своем модуле hook_form_alter, чтобы получить и изменить значение любого элемента формы.

Вот пример поля таксономии в структуре exposed form:
uzL_iluXlq6VLRpNpcABNiigtGFtJgNMlj3MGaG6

Навскидку - в вашем случае должно работать так:
Проходимся по всем элементам #option в нужном поле формы. Для каждого из них:
  1. Проверяем наличие элементов, отмеченных термином - к примеру, через taxonomy_select_nodes($tid). $tid - ключ в массиве.
  2. Если таких нод больше нуля, получаем объект термина через taxonomy_term_load($tid)
  3. Заменяем option на нужное нам значение (например, description)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы