use Bitrix\Main\Diag\Debug; use Bitrix\Main\EventManager; use Bitrix\Sale\Location\LocationTable; use Bitrix\Sale\Order; use Bitrix\Sale; $eventManager = EventManager::getInstance(); $eventManager->addEventHandler('sale', 'OnSaleComponentOrderResultPrepared', 'OnSaleComponentOrderResultPrepared'); function OnSaleComponentOrderResultPrepared(&$order, &$arUserResult, $request, &$arParams, &$arResult) { $basket = Sale\Basket::loadItemsForFUser(Sale\Fuser::getId(), Bitrix\Main\Context::getCurrent()->getSite()); // получаем корзину текущего пользователя //$basketItems = $basket->getBasketItems(); foreach ($basket as $basketItem) { $els = CIBlockElement::GetList(array(),array("ID" => $basketItem->GetProductID()), false, false, array("ID", "IBLOCK_ID", "PROPERTY_CODE")); // получаем товары из корзины if($el = $els ->GetNext()){ $basketPropertyCollection = $basketItem->getPropertyCollection(); $basketPropertyCollection->setProperty(array( array( 'NAME' => 'Номенклатура', 'CODE' => 'CODE', 'VALUE' => $el['PROPERTY_CODE_VALUE'], 'SORT' => 100, ), )); $basketPropertyCollection->save(); } } }Событие OnSaleComponentOrderResultPrepared вызывается после формирования всех данных компонента на этапе заполнения формы заказа, может быть использовано для модификации данных. Во время вызова этого события заказ еще не создан, но создан объект заказа, отсутствует ID заказа. Этот объект мы и меняем. В результате получим свойство «номенклатура», которое отправится в 1с вместе с заказом. При вызове этого события можно менять параметры корзины заказа, количество товара, цену и многое другое.
Добавление свойств товара в корзину Битрикс
Иногда требуется отправить в 1с какую-либо дополнительную информацию о товаре в заказе, или же пересчитать цену товара в корзине, или провести какую манипуляцию со складами, перед оформлением заказа.
Рассмотрим пример добавления свойств товара к товарам в заказе, перед оформлением заказа в битрикс.
Для этого создадим файл /local/php_interface/init.php, если его еще нет.
Добавим в файл следующий код:
Статьи на тему:
- Форма обратной связи ajax
- Битрикс бесконечная прокрутка страниц
- data-skip-moving битрикс
- Битрикс многосайтовость
- Bitrix server test
- Битрикс меню каталога
- Битрикс не добавляются товары в корзину
- Перенос сайта на битриксе на другой хостинг
- Перенос сайта на битрикс
- Не приходят письма битрикс
- Битрикс сео оптимизация
- Ssl сертификат Битрикс
- Битрикс выгрузка на яндекс маркет
- Битрикс добавляем google analytics и яндекс метрику
- Цели яндекс метрика & google analytics битрикс
- phpmyadmin на битрикс
- Эквайринг битрикс
- Конвертер на лету. Webp в битрикс
- Битрикс, авторизация скриптом
- Правильное добавление CSS и JS файлов в битрикс
- Настройки ошибки 404
- Битрикс Яндекс.Касса
- Размещаем robots.txt в Битрикс
- Битрикс остатки по складам
- Настройка поиска