Здравствуйте товарищи, всех с прошедшим Новым годом!
Трудовые будни у меня продолжаются, не могу сделать простейший функционал.
Имеется типичный тип продукта, в котором есть дополнительное поле ЦЕНА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
Усё, НО ОДНАКО НИЧЕГО НЕ МЕНЯЕТ РУЛЗА ЗАПУСКАЕТСЯ НО НЕ МЕНЯЕТ
ощущение что поля не правильные выбираю, т.к. там есть ещё какие то ammout (unchanged)
подскажите пожалуйста, может у кого то опыт уже есть с ценами
Комментарии
имхо
перво наперво обновить коммерц до свеженького,
и использовать commerce-product:commerce-price:amount-decimal
глубже не копаю)))
хм, дела ещё круче оказались
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 не приписывает)
Приветсвую,
Попробуйте с помощью кода PHP: у меня именно так работает при создании продукта создаются автоматически ноды.
С ув., Алексей
Здравствуйте Алексей, подскажите пожалуйста, каким образом это можно сделать, я с PHP очень плохо дружу
Как я понимаю это надо поставить модуль Php filter
аналогично сделать рулзу на эвент Before product saving,
далее наверно Condition тоже надо сделать Entity has field, чтобы вытащить это поле...
а потом наверно в экшене будет действие что то вроде ЗАПУСТИТЬ PHP КОД, в котором нужно как раз написать это вычисление и присваивание
если всё так, то подскажите пожалуйста какого рода код должен быть, он наверняка простейший
можно попробовать сменить тип поля с цены на число.
Честно говоря не хочется, т.к. хочется придерживаться именно тип поля - ДЕНЕЖНОЙ единицей