Привет!
Задача создать Интернет-магазин с фильтром по техническим характеристикам, эту задачу я выполнил на половину и коряво :)
Сейчас в моём магазине для каждой категории индивидуально можно настроить параметры для технических характеристик т.е. указать название (цвет), тип (select), варианты (красный, синий). При создании товара выбираем категорию и заполняем появляющийся список с техническими характеристиками (выбираем цвет, отмечаем птичками опции и т.п.). На сайте в категории отображается фильтр и список товаров, всё работает как часы :)
Хочется большего! :)
Если взглянуть на Я.Маркет или попроще пример, то у них есть преимущества, которые я хочу внедрить:
- При выборе некоторых параметров, другие становятся неактивными, т.е. товары с такими характеристиками не участвуют в фильтре, скриншот.
- У моего фильтра есть ограничения, в таблице создано 200 колонок, это значит что я могу создать только 200 параметров для одной категории. Также для типа поля select ограничение в 20 вариантов и нет возможности их менять местами.
- Скорость моего фильтра явно хромает, потому как используется LIKE и 2-3 сложных SQL-запроса.
Ищу умного программиста, который сможет простым языком на примерах объяснить как работают фильтры Я.Маркета и/или приведённого примера. Писать за меня ничего не нужно :)
Сейчас моя база устроена так:
1 таблица - категории
2 таблица - атрибуты и варианты для каждой категории
3 таблица - товары
4 таблица - технические характеристики для каждого товара
Показывать свою базу и скрипты не вижу смысла т.к. уверен, что всё спроектировано неправильно.
|