Cotonti. Интернет магазин

Вопросы, сязанные с "Cotonti. Интернет магазин"
Быстрый переход:
Аватар

Юрий

Member
#10287   27 сентября 2014 13:55

Итак, пока молодожены не вернулись с седьмого неба, сформулирую вопрос, на который абсолютно точно когда-нибудь придется давать ответ.

Как реализовать выбор товара по его атрибутам? Для взаимодействия со складом, бухгалтерией и т.п. будет лучше, если каждый товар с уникальными атрибутами будет иметь свой собственный артикул. Т.е. джинсы 50-го размара, синего цвета, из 100% хлопка будут отдельной страницей с соответствующими значениями в дополнительных полях (размер, цвет, материал) таблицы cot_pages. Реализовать это просто с помощью встроенных средств движка. Но, как нам сделать выбор этих атрибутов на лендинг пэйдж? А вернее, как сделать так, что бы в форме покупки на лендинг пэйдж при выборе комбинации из этих атрибутов, в корзину отправлялся соответствующий им уникальный товар?

Сейчас я решаю эту проблему следующим образом. Небольшой плагин перехватывает список страниц для категории shop/категория товара  и показывает мне только одну страницу из списка для каждой вещи сгрупированного по цвету (джинсы синие, черный, красные ...). Я вижу набор одинаковых вещей (допустим джинсы) разного цвета. Когда я выбираю нужный мне цвет, в список страниц передается параметр цвета, по которому он фильтруется и я получаю только джинсы выбранного цвета, но разного размера. Для того, что бы этот список стал лендинг пэйдж я формирую его в виде табов, только один из которых виден (т.е. видна только одна форма покупки, соответствующая одному размеру). Закладки табов - это размеры. Выбираю размер - получаю форму выбора джинсов соответствующего размера. В каждой такой форме (для каждого размера) сформирован список цветов для выбора цвета на случай, если я решу его поменять. Ссылки в этом списке кроме параметра для фильтрации цвета теперь содержат и параметр для выбора размера. Т.е. если я выбрал 52й размер и потом решил выбрать другой цвет, то при переходе по этой ссылке, я попаду в список страниц с джинсами нужного цвета и видимой формой (табом) покупки джинсов 52го размера.

Это работает. Но, очень мягко говоря, такое решение никуда не годится по многим причинам. Нужно более универсальное и грамотное решение. Конечно, если сделать товар классом с любым набором значений для любого числа атрибутов, то все было бы в разы проще. Но тогда пришлось бы возиться с взаимодействием между сайтом и бэкофисом.

Вот такие пирогисс