Пример события OnSaleOrderSaved

Просмотров: 1320
Реальный пример события сохранения заказа в конце сохранения (когда заказ и все связанные сущности уже сохранены).
Скачать пример события OnSaleOrderSaved

 $eventManager->addEventHandler("sale", "OnSaleOrderSaved", ['OrderEvents', 'OrderServicesCollection']);
class OrderEvents {
public static function OrderServicesCollection(\Bitrix\Main\Event $event) {
$order = $event->getParameter('ENTITY');
$isNew = $event->getParameter("IS_NEW");
$shipmentCollection = $order->getShipmentCollection();
$servicesPrice = 0;
$res = CIBlock::GetProperties(28, Array(), Array("CODE"=>"SERVICES_COLLECTION"));
if($res_arr = $res->Fetch()) {
$servicesPrice = $res_arr["DEFAULT_VALUE"];
}
if($servicesPrice && $isNew) {
$basket = $order->getBasket();
$basketItems = $basket->getBasketItems();
$deliveryPrice = $order->getField("PRICE_DELIVERY");
$servicesPriceFinal = $deliveryPrice + ($servicesPrice * count($basketItems));
foreach($shipmentCollection as $shipment) {
if(!$shipment->isSystem()) {
$shipment->setBasePriceDelivery($servicesPriceFinal, false);
$order->save();
}
}
}
}
}
#OnSaleOrderSaved

Ещё статьи:

07.06.2025 WP vs Bitrix #4 Все страницы сайта на полях ACF сделаны.
Очередной пример того, что система управления как инструмент не виновата. Но тем не менее эти люди со светлыми вордпрессными лицами скажут, что битрикс плохой. ID: 623

07.06.2025 Нюансы обновления Аспро Медицинский центр 2
Вопрос от клиента, если есть аспро мед 2, но сейчас уже аспро мед 3. Это новый покупается? или обновляется текущий? ID: 622

07.06.2025 Много детальных шаблонов с привязкой к ID элемента
Очередной случай когда скажут битрикс плохой, но инструмент не виноват в том, ка его используют.
Многое видел, но чтобы плодить множество детальных шаблонов страницы с привязкой к ID элемента каждой страницы, такого ещё не видел. ID: 621

© 2015-2025 Web админ
Связаться по WhatsApp