Что не так в этом коде ? Не работает. Необходимо сделать чтобы к стоимости заказа при значении определенного свойства добавлялось 65 рублей. Ну хотя бы чтобы просто общая стоимость менялась. Код размещаю в init.php
Код |
---|
AddEventHandler("sale", "onSaleOrderBeforeSaved", "MyOnBeforeDev");
function MyOnBeforeDev(\Bitrix\Main\Event $event)
{
$order = $event->getParameter("ENTITY");
// Добавляем 65 рублей к общей сумме заказа
$currentPrice = $order->getPrice();
$newPrice = $currentPrice + 65;
$order->setField("PRICE", $newPrice);
$order->save();
} |
Может нет такого поля $order->setField("PRICE", $newPrice); Этот код придумал ИИ. И надо ли сохранять в конце $order->save(); Вообще не понятно как с объектом $order работать как его распечатать из init.
Или еще вариант.
Код |
---|
use Bitrix\Main,
Bitrix\Sale\Order;
use Bitrix\Main\EventManager;
EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleOrderSaved', function(Bitrix\Main\Event $event) {
$order = $event->getParameter("ENTITY");
// Добавляем 65 рублей к общей сумме заказа
$currentPrice = $order->getPrice();
$newPrice = $currentPrice + 65;
$order->setField("PRICE", $newPrice);
});
|