[РЕШЕНО] Скрыть неиспользуемые фильтры VIEWS

Главные вкладки

Аватар пользователя siriusal siriusal 11 ноября 2016 в 12:01

Здравствуйте! Использую на сайте модуль Better Exposed Filters. Всё работает. Если термин на странице не используется, то всё хорошо - он не отображается, но вот метка словаря видна. Подскажите пожалуйста как сделать так, чтобы и метки и вообще поля не было видно в других категориях?

Например, одна категория - книги, а вторая категория - одежда. Так вот в книгах не нужен фильтр "Размер". Пример грубый, но точный.

Комментарии

Аватар пользователя siriusal siriusal 11 ноября 2016 в 13:44

Использую Global: Dependent filter. Он скрывает зависимые фильтры. Но не убирает заголовки фильтров. Неужели нельзя сделать проще?

Аватар пользователя dgastudio dgastudio 11 ноября 2016 в 13:56
function themename_preprocess_views_exposed_form(&$variables) {
  if ($variables['form']['#id'] == 'views-exposed-form-VIEWNAME-DISPLAYID' && count($variables['form']['FIELD_FIELD']['#options']) < 2)
  {
    unset($variables['widgets']['filter-FIELD_MACHINE_NAME_value_selective']);
  }
}
Аватар пользователя VasyOK VasyOK 11 ноября 2016 в 14:07

Варианты (быдло-методы).
1) Сделать вьюхе отдельные дисплеи с разными фильтрами. И каждый дисплей выводить на своем словаре. Это если у вас не магазин уровня Амазон.
2) Либо назвнание словаря в урл передать как -то, а потом по этому урлу display: none для ненужных фильтров.
3) Скрыть лейблы фильтров и задать картинкой-бекграундом для выводимых значений.

Аватар пользователя gun_dose gun_dose 11 ноября 2016 в 15:20

VasyOK wrote:

3) Скрыть лейблы фильтров и задать картинкой-бекграундом для выводимых значений.

Ну это уже совсем по-быдлански. Можно же через before текстом