Доработка системы фильтрации товаров на сайте
На сайте (сильно доработанный движок Shop-Script - PHP/MySQL/шаблоны Smarty) уже есть система фильтрации товаров, например можно посмотреть на странице: http://jucom.ru/index.php?categoryID=5756
Необходимо доработать её на манер расширенного фильтра на сайте market.yandex.ru, где основными выступают требования:
- динамически всплывающая кнопка "показать" с числом товаров которые будут отфильтрованы (AJAX)
- слайдер под числовыми свойствами-диапазонами
- возможность выбирать несколько свойств одного вида (мультифильтрация), а не только сужение фильтра до одного варианта по одному свойству, как сейчас.
Структура таблиц:
Таблица "виды свойств"
• Код вида свойств
• Название вида свойств (например, «Ширина»)
• Название группы вида свойств (например, «Размеры»)
• Флаг «число», равен 0 если свойство – строка, 1 – число
• Порядок сортировки – число, учавствующее в сортировке видов свойств приоритетнее, нежели название
• Единица измерения (строка, выводящаяся у числовых свойств)
• Участие в поиске (0 или 1, если 1, то свойство учавствует в формировании фильтра, иначе только в сравнении товаров)
• Сортировать как число – если 1, то даже если свойство строковое – сортируется оно при выводе будучи приведенным к числу – как число, собственно.
• Комментарий (описание вида свойства)
Таблица "значения свойств"
• Код вида свойства
• Код значения свойства
• Числовое значение свойства (используется если вид свойства – число или как вспомогательное поле если вид свойства – строка, но включена галочка «сортировать как число»)
• Строковое значение свойства (используется если вид свойства – строка).
Таблица "привязка свойств к товарам"
• Код товара
• Код вида свойств
• Код значения свойства
Потребуется разбираться как работает текущая система - обязательно голосовое общение по скайпу для передачи задания.
Очень серьезные требования к быстродействию.
Обязательно ведение полного отчета в какие файлы и какие изменения вносятся.
Независимо от этого обязательно выделение в коде комментариями мест где происходят изменения.