Пример события OnSaleOrderSaved
Скачать пример события 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();
}
}
}
}
}
Ещё статьи:
31.07.2024
Нюансы продления лицензии на 3 и 6 месяцев от 12 месяцев
На маркетплейсе есть такая кнопка "купить продление", при нажатии на неё есть выпадающий список продолжительность (3 мес. самый дешовый вариант и 6 мес.).
У розничного пользователя такой кнопки, она есть под партнёрским аккаунтом разработчика.
ID: 494
31.07.2024
Ошибка в блоке "Вы смотрели" на базе catalog.section
При создании блока "Вы смотрели" на базе catalog.section на детальной странице товара столкнулся с ошибкой, когда блок работал не корректно, и данные о просмотренных товарах не обновлялись.
ID: 493
26.06.2024
Мой отзыв о Seo-специалисте Александр Сергиенко
Делюсь моим опытом о Seo-специалисте Александр Сергиенко https://kwork.ru/user/21alex
Я думаю потенциальным клиентам этого мудака будет полезно узнать нутро этого "специалиста"
ID: 471