Drupal Commerce: Автоматическое заполнение второго дополнительного поля цена. Не получается

Аватар пользователя andreystrelkov andreystrelkov 2 января 2013 в 17:27

Здравствуйте товарищи, всех с прошедшим Новым годом!

Трудовые будни у меня продолжаются, не могу сделать простейший функционал.
Имеется типичный тип продукта, в котором есть дополнительное поле ЦЕНА2
Задача - при создании продукта, необходимо сделать так, чтобы поле ЦЕНА2 стало равно ЦЕНА (обычная, ядровая так сказать) * 1.13

По идее, всё просто с рулзой
мол на event BEFORE SAVING PRODUCT (применяется эвент как при изменении продукта, так и при создании продукта)
делать следующее

CONDITION - ENTITY HAS FIELD - ЦЕНА2

ACTION - СALCULATE VALUE
в data selector: commerce-product:commerce-price:amount
в operator: * 1.13
в calculation result - result

далече ACTION второй - SET DATE VALUE
в первом date selector: commerce-product:commerce-price:amount
во втором: result

Усё, НО ОДНАКО НИЧЕГО НЕ МЕНЯЕТ Sad РУЛЗА ЗАПУСКАЕТСЯ НО НЕ МЕНЯЕТ
ощущение что поля не правильные выбираю, т.к. там есть ещё какие то ammout (unchanged)

подскажите пожалуйста, может у кого то опыт уже есть с ценами

Комментарии

Аватар пользователя multpix multpix 2 января 2013 в 17:57

имхо
перво наперво обновить коммерц до свеженького,
и использовать commerce-product:commerce-price:amount-decimal
глубже не копаю)))

Аватар пользователя andreystrelkov andreystrelkov 2 января 2013 в 20:12

хм, дела ещё круче оказались Smile

Commerce - у меня последний стоит, ставлю только commerce, не kickstart

Экшен с вычислением проходит, считает цифру верно, проблема не в том чтобы записать это значение в другое поле цены, а проблемма оказалось вообще хоть что нибудь туда записать :/

т.к. попробовал просто Set data value в этом поле commerce-product:field-price-org- (Price (ORG)) (без двоеточия) на что он мне прямо предлагает вводит говорит значение, и приписывает RUB, т.е. понял что куда я хочу записать, ну я ему и ввёл 1234.

изменяя продукт - а поле то не меняется :/

оооок, меняю в data selector на commerce-product:field-price-org-:amount-decimal (Amount (decimal)) при нажатии Далее - авторитетно заявляет The selected data property doesn't support writing.
(при выборе commerce-product:field-price-org-:amount без decimal) тоже ничего не меняет, да и RUB не приписывает)

Аватар пользователя alexsaab alexsaab 2 января 2013 в 23:50

Приветсвую,

Попробуйте с помощью кода PHP: у меня именно так работает при создании продукта создаются автоматически ноды.

С ув., Алексей

Аватар пользователя andreystrelkov andreystrelkov 3 января 2013 в 12:28

Здравствуйте Алексей, подскажите пожалуйста, каким образом это можно сделать, я с PHP очень плохо дружу Sad
Как я понимаю это надо поставить модуль Php filter
аналогично сделать рулзу на эвент Before product saving,
далее наверно Condition тоже надо сделать Entity has field, чтобы вытащить это поле...

а потом наверно в экшене будет действие что то вроде ЗАПУСТИТЬ PHP КОД, в котором нужно как раз написать это вычисление и присваивание

если всё так, то подскажите пожалуйста какого рода код должен быть, он наверняка простейший

Аватар пользователя andreystrelkov andreystrelkov 3 января 2013 в 12:23

Честно говоря не хочется, т.к. хочется придерживаться именно тип поля - ДЕНЕЖНОЙ единицей