Динамический блок для фильтрации нод в выбранной категории

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

Аватар пользователя E.Wolf E.Wolf 22 октября 2014 в 8:50

Доброго времени суток уважаемые!

Хочу сделать небольшой каталог видео (локальный/внутрисетевой), с возможностью фильтрации видео как по категориям так и по продолжительности. С фильтрацией видео по категори(и, ям) вопросов нет. А вот с фильтрацию видео по продолжительности хотелось бы сделать несколько интерактивным.

Суть задачи примерно такая:
Пользователь выбирает категорию видео (Views+Taxonomy), получает список видео-роликов выбранной категории (тут вопросов нет). Но, в некоторых категориях, видео может делиться по продолжительности ролика, в примере (*прикрепленный файл*) за каждым роликом закреплён один из терминов словаря (таксономия): "до 30 минут", "30-59 минут" или "60 и более минут". Если данный (текущий, выбранный) раздел содержит в себе ролики у которых обозначена продолжительность - нужно отобразить блок "фильтр", который состоит из RadioButton'ов (каждый из которых - термин словаря "duration"). При выборе одного пунктов в блоке "фильтр" - нужно показывать только ролики данной категории, которым присвоен соответствующий термин словаря "duration". При этом, выбранный в фильтре пункт - сохраняется (например, в куках).

Если говорить проще, необходимо фильтровать ноды (видео-ролики) по двум словарям, первый из них - "категория", второй - "продолжительность" (видео-ролика). При этом блок "фильтр" (фильтр по продолжительности) должен появляться только в том случае, если в данной категории есть хотя бы один ролик (нода), у которого указана продолжительность (соответственно, если ни у одной ноды в данной категории продолжительность не указана - блок "фильтр" не отображается). При выборе продолжительности - мы видим только видео-ролики (ноды) соответствующей продолжительности и только их. Выбранная продолжительность не должна влиять на URL, сохраняя/восстанавливая выбранное значение в/из куки, автоматически применяя значение фильтра к данной категории и всем прочим категориям, к которым данный фильтр может быть применен.

Подскажите пожалуйста, какой примерный алгоритм реализации подобной задачи? Возможно есть какие-то готовые модули, или другие полезные ресурсы на эту тему? Спасибо.

ВложениеРазмер
Иконка изображения filter.png12.2 КБ

Комментарии

Аватар пользователя VasyOK VasyOK 22 октября 2014 в 15:26

[module=views_selective_filters] + [module=better_exposed_filters] - главное AJAX включить в views

Хотя на [module=search_api] - тоже возможно