Commerce и выбор в корзине (перед добавлением в корзину)

Главные вкладки

Аватар пользователя 3xdimon 3xdimon 2 сентября 2011 в 13:22

Магазин на основе Сommerce
Вот так интересный вопрос набрел, никак реализовать не могу.
commerce_product_attributes и commerce_product_bundle - не пашут еще и ошибок куча...

Допустим создаем категорию, мобильные телефоны.
Добавляем поле select с мультивыборов допустим цветов - и перечисляем все цвета (таксономия или просто select - неважно).
При создании товара выбираем -
Цвета: серый, белый, черный.
Т.е. есть телефоны всех 3-х видов.
Теперь самое интерересное, вывести те цвета что выбрали в качестве селекта для пользователя перед добавляем в корзину, и если он передумал - то во время оформления заказа.

Как это сделать никто не пытался???

Комментарии

Аватар пользователя Sun-fire Sun-fire 2 сентября 2011 в 17:58

Когда вы добавляете товар в корзину, то тем самым создаете line item текущего заказа. Один товар - один line item. Насколько я понял, каждый цвет - отдельный товар. В таком случае по описанной логике нужно удалить старый line item и создать новый на основе одного из других товаров, приаттаченых к ноде представления товара.

Если нужно выбирать перед добавлением в корзину - то все довольно просто - коммерц позволяет выбирать с помощью выпадающего списка один из приаттаченых к ноде товаров.

Поскольку корзина это вид Views, то скорее всего нужно писать свой виджет для интеграции с Views.

Аватар пользователя 3xdimon 3xdimon 2 сентября 2011 в 21:44

Нет, дело не в том что надо сделать разные товары - это просто...
Дело в другом, в мульти селекте для ОДНОГО товора выбрать несколько цветов, и при попытке его кинуть в корзине выбрать интересующий цвет (как допустим поле колиство товаров) только селект, из тех цветов что были выбраны в админке

Аватар пользователя Sun-fire Sun-fire 2 сентября 2011 в 22:06

Если вы в админке при создании товара присвоили ему некоторые цвета, то он так или иначе уже имеет все эти цвета как значения соответствующего поля.

Рекомендую посмотреть это видео.