Формирование цены в Drupal 7 + Commerce

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

Аватар пользователя lesik2006 lesik2006 17 августа 2017 в 2:21

Приветствую.
Drupal 7 + Commerce

Требуется решить такую задачу:
Допустим есть такой товар - "Печать изображений на холсте"
Цена товара должна формироваться по формуле: (Price*S*Kurs_usd+P*Price_wd)*К
где:
Price - цена печати за квадратный метр в долларах, т.е. стандартная цена, которая указывается в карточке при добавлении товара.

Площадь S = a*b
Периметр P= (a+b)*2
параметры "a" и "b" (ширина и высота) указываются при заказе пользователем.

и "Статичные переменные" - указывается в админке с помощью модуля Variable для всех товаров данного типа (не в товаре!)
Kurs_usd - курс доллара
Price_wd - цена дерева для рамки
K - коэффициент для расчета прибыли или за работу (кому как удобнее)

т.е. в админке как статические переменные указываются курс доллара, цена дерева и коэффициент для всех товаров (!не в каждом товаре!) - это для того, чтобы не менять все цены при изменении курса доллара или цены дерева и т.п.
Покупатель при заказе видит цену за кв. метр и указывает нужные размеры a и b и происходит пересчет цены с дальнейшей передачей в корзину и с учетом в заказе.

Кто-нибудь сталкивался с такими расчетами, что посоветуете?
Я так понимаю, что тут нужно как-то через Rules решать, но...
Заранее благодарен за любые советы.

П.С. Да, и еще плюс к этому всему расчет должен быть привязан к конкретному типу товара, т.к. будут еще типы товаров с другими формулами...

Комментарии

Аватар пользователя juto juto 18 августа 2017 в 22:51

lesik2006 wrote:

Покупатель при заказе видит цену за кв. метр и указывает нужные размеры a и b и происходит пересчет цены с дальнейшей передачей в корзину и с учетом в заказе.

Через Rules не "накликаете" нужный функционал. В ноде/товаре прикрепляется форма, через которую и передается нужная цена как и куда вам нужно.

P.S. Имхо, для сферы услуг - commerce нафиг не нужен.

Аватар пользователя gun_dose gun_dose 18 августа 2017 в 23:22

Наверное, самое разумное решение - к дисплеям не крепить продукты, а выводить кастомную форму, которая по сабмиту создаст продукт и тут же положит (или покладёт) его в корзину.

Аватар пользователя BatKor BatKor 19 августа 2017 в 0:30

Самый простой
Создать необходимые размеры в коммерц сущности
Не очень простой
Вариант выше(хотя думаю количество сущностей будет расти в прогрессии как и вариант выше)
Совсем уж не кошерный вариант
Создавать заказ с новой(рассчитанной) ценой. "Да это Жестко" но думаю вполне годный вариант

Аватар пользователя gun_dose gun_dose 19 августа 2017 в 11:32

Количество сущностей будет расти в любом случае, не забываем про line items. С другой стороны, опыт подсказывает, что такой штучный товар продается не миллионами единиц, а хорошо, если тысячу в год. Можно будет раз в 5 лет удалять старые продукты)))