Руководство по созданию имитации фасетного поиска — такого же, как на Amazon — с помощью JavaScript, Underscore.js и библиотеки facetedsearch.js.
Необходимые зависимости
Для реализации требуются три основные библиотеки: jQuery, Underscore.js и facetedsearch.js (доступна на github.com/eikes/facetedsearch).
Базовая структура HTML
Конфигурация приложения
Требуется определить шаблон отображения элементов, объект настроек с параметрами фасетов и JSON-массив данных для фильтрации. Основной вызов метода: $.facetelize(settings);
Объект настроек включает:
items — массив элементов, facets — категории фильтров, resultSelector / facetSelector — селекторы контейнеров, paginationCount — элементов на странице, orderByOptions — варианты сортировки, facetSortOption — пользовательский порядок фасетов.
События и методы
Библиотека экспортирует функции facetelize и facetUpdate. Поддерживаются события: facetuicreated, facetedsearchresultupdate, facetedsearchfacetclick, facetedsearchorderby.