ocStore 1.5.4.1
Столкнулся с необходимостью добавить в магазин довольно простую функцию, и не нашел механизма для ее реализации, хотя задача должна бы быть достаточно распространенной и не хотелось бы изобретать велосипед - поэтому решил спросить. Итак, задача в двух вариантах.
Первый вариант, попроще.
Дана одна модель телевизора, выпускающаяся с несколькими разными диагоналями экрана (опция). От размера экрана зависят габариты и вес (атрибуты). После того, как покупатель выберет диагональ, ему надо показать габариты и вес для выбранной диагонали.
Т.е. на каждую опцию нужен свой набор атрибутов.
Второй вариант, посложнее.
Все как в первом варианте, только модель с каждым размером диагонали имеет вариации по цветам: у диагонали поменьше две расцветки, у диагонали побольше - четыре.
Т.е. на каждую опцию нужен свой набор атрибутов и свои опции
Факультативно: конечно, было бы совсем хорошо использовать один и тот же набор габариты+вес для каждого цвета одной диагонали, а не копировать их в каждый цвет. Т.е. вес и габариты зависят только от диагонали - вполне здравая логика:)
---
Пока додумался до двух вариантов:
1. Начхать на единый артикул и сделать модели с каждым размером диагонали отдельным товаром. Тогда задача сводится к тривиальной - различные атрибуты и опции для разных товаров (предполагаем вложенность опций одноуровневой, т.е внутри цвета различий нет). Проблема в том, что это одна модель, и заказчик хочет это подчеркнуть, чтобы выбор производился в пределах одной модели (карточки товара). Вариант решения - "связанные товары" (ссылка "эта же модель с другой диагональю") - назван неэффективным, т.к. если в карточке товара крупно обозначена маленькая диагональ, то поиск ссылки на большую диагональ - неочевидное действие.
2. Создать группы атрибутов для каждой опции и переключать группы при переключении опции. Выбрал диагональ поменьше - первая группа, побольше - вторая группа. Для первой формулировки задачи подходит. Но что в этом случае делать со вложенными опциями - неясно.