Сделать скрипт фильтра параметров каталога

Сергей18 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
22.05.2013

Приветствую всех.

Возникла большая необходимость в универсальном скрипте для фильтрации каталога по любым параметрам. Например, как здесь:

http://electronics.wikimart.ru/communication/cell/

http://demo.ocfilter.com/laptops-and-accessories/laptops.

Данный скрипт должен быть легко настраиваемым. Принцип работы следующий:

У нас есть скрипт универсального каталога. В БД все записи каталога хранятся в одной таблице, т.е.

id_item, name, id_group, param1,param2,.....param10

Параметров может быть много.

Отдельно, для удобства, есть таблица с описанием всех дополнительных параметров:

id,id_group,name,alias,type,default_value

1,1,Цвет,color,checkbox,Красный

2,1,Диагоняль,diagonal,radio,50

и т.д.

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

Результат поиска – это список id записей каталога, удовлетворяющих результату поиска.

Должна быть возможность создавать неограниченное количество форм фильтрации: в административном интерфейсе или написание шаблона вручную – особо не играет роли. Если это будет через шаблоны, то в шаблоне должно быть минимум всяких настроек.

Например, если у нас есть параметр color, то чтобы создать список чекбоксов, достаточно вставить в шаблон следующее:

color_checkbox (или idparam_checkbox)

и скрипт фильтра сформирует список чекбоксов с вариантами цвета, доступными для фильтрации

Желательно иметь кеширование результатов фильтрации; запоминание результатов, чтобы при переходе на другие страницы фильтр не сбрасывался самостоятельно.

Я написал приблизительно. Если нужно, расскажу подробнее все ньюансы.