Здравствуйте! Использую на сайте модуль Better Exposed Filters. Всё работает. Если термин на странице не используется, то всё хорошо - он не отображается, но вот метка словаря видна. Подскажите пожалуйста как сделать так, чтобы и метки и вообще поля не было видно в других категориях?
Например, одна категория - книги, а вторая категория - одежда. Так вот в книгах не нужен фильтр "Размер". Пример грубый, но точный.
Комментарии
Views API
Использую Global: Dependent filter. Он скрывает зависимые фильтры. Но не убирает заголовки фильтров. Неужели нельзя сделать проще?
Фот эта шляпа на картинке
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']);
}
}
А что такое views-exposed-form-VIEWNAME-DISPLAYID и ['FIELD_FIELD']? Как их определить?
дебаггером.
но, если вы далеки от кода друпала, думаю вам лучше сюда не лезть.
как вариант, используйте фасеты
https://www.drupal.org/project/facetapi
Варианты (быдло-методы).
1) Сделать вьюхе отдельные дисплеи с разными фильтрами. И каждый дисплей выводить на своем словаре. Это если у вас не магазин уровня Амазон.
2) Либо назвнание словаря в урл передать как -то, а потом по этому урлу display: none для ненужных фильтров.
3) Скрыть лейблы фильтров и задать картинкой-бекграундом для выводимых значений.
Всем спасибо!
Ну это уже совсем по-быдлански. Можно же через before текстом
Я предлагаю кроусбраузернее
А что, бефор и афтер не кроссбраузерные? Их даже смарт-тв поддерживает!