Всем привет!
Такая задача, есть карточка товара, в ней указывается стоимость за одну единицу товара. Магазин оптовый, и продает упаковками. Есть в карточке товара поле "количество в упаковке", необходимо пользователю в карточке показывать стоимость за единицу и стомость за упаковку(которая должна рассчитаться на основе данных количества в упаковке), а при добавлении в корзину, чтобы добавлялась только стоимость за упаковку. Как лучше реализовать?
Пока только в голову пришла мысль сделать два поля цены, и при сохранении ноды умножать количество за цену за единицу и прописывать в поле. Может есть варианты лучше?
Ответы
Наковырял методом проб и ошибок, может кому полезно будет, такой рулс получился
Событие:
Расчёт стоимости товара
Условие:
1 - Сущность имеет поле Параметр: Сущность: [commerce-line-item], Поле: commerce_product
2 - А теперь уже тянем поле с кол-вом бутылок Сущность имеет поле Параметр: Сущность: [commerce-line-item: commerce_product] Поле: field_quantity
Дейсвия:
Умножить стоимость за единицу на некое значение
Параметр: Строка: [commerce_line_item], Количество: [ommerce-line-item: commerce_product:field_quantity]
Будьте внимательны если решите использовать скидки/купоны, в Rules присутсвует Race Condition.
Спасибо!
Решил без доп поля цены - рулсами. Перерасчет стоимости на основе поля, а в карточку вывожу базовый прайс и пересчитанный.
хотя не все так гладко как в теории. Ибо поля с количеством упаковок, рулс не видит, хотя условие добавлено - сущность имеет поле.