Внимание:
События это заложенная разработчиком возможность вносить изменения в логику решения без кастомизации (с сохранением обновлений)
Для работы с событиями необходимы базовые навыки программирования. События позволяют сделать подстройку решения под индивидуальные требования сайта, поэтому их реализация не входит в стандартную техническую поддержку решения
Для модификации заказов созданных на основе данных с Ozon вы можете использовать стандартное событие OnSaleOrderBeforeSaved
Пример использования события (в заказах созданных решением проверяем наличие заполненного email'а и если он не заполнен подставляем дефолтный):
<?
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'sale',
'OnSaleOrderBeforeSaved',
'onSaleOrderModifyOzonData'
);
function onSaleOrderModifyOzonData(\Bitrix\Main\Event $event){
$order = $event->getParameter("ENTITY");
if($order)
{
$propertyCollection = $order->getPropertyCollection();
$propsData = array();
foreach ($propertyCollection as $propertyItem) {
if (!empty($propertyItem->getField("CODE"))) {
$propsData[$propertyItem->getField("CODE")] = trim($propertyItem->getValue());
}
}
if($propsData["AOZ_POSTING_NUMBER"]){
foreach ($propertyCollection as $propertyItem) {
switch ($propertyItem->getField("CODE")) {
case 'EMAIL':
if(!$propsData["EMAIL"]){
$propertyItem->setField("VALUE", "no-reply@ozon.ru");
}
break;
}
}
}
}
}
?>
Эта информация оказалась полезной?
Да
Нет