Новый заказ получение артикула товара

Новый заказ получение артикула товара

Получение артикулов товаров в новом заказе. Задача по сути заключается в добавлении в файл init.php обработчика события OnOrderNewSendEmail (для модификации данных перед отправкой письма о новом заказе), получение результатов выборки записей из корзины заказа, далее получаем товары заказа из которых получаем свойства товара, и в итоге заветный артикул.
Скачать пример обработчика

Следует обратить внимание, что ключ $arFields["ARTICLES"] и будет нашим значением, которое уйдет в почтовый шаблон. Проверяем результат отработки почтового события:

артикул в почтовом шаблоне битрикс.png

Код обработчика для добавления артикулов в почтовый шаблон битрикс (код актуален для стандартного демо магазина битрикс)


//Констатнта инфоблока торговых предложений

define('SKU_ID_S1', 3);

//-- Добавление обработчика события

AddEventHandler("sale", "OnOrderNewSendEmail", "bxModifySaleMails");

//-- Собственно обработчик события

function bxModifySaleMails($orderID, &$eventName, &$arFields)

{

  $arOrder = CSaleOrder::GetByID($orderID);

  //результат выборки записей из корзины заказа

  $dbBasketItems = CSaleBasket::GetList(array(), array("ORDER_ID" => $orderID), false, false, array());

//получаем товары заказа

while ($arItems = $dbBasketItems->Fetch()) {

$macciw[] = $arItems['PRODUCT_ID'];

}

//получаем свойства товара

$array_product= array();

 foreach ($macciw as $macciw_id) {

$res_product = CIBlockElement::GetProperty(SKU_ID_S1, $macciw_id, array("sort" => "asc"), Array("CODE"=>"ARTNUMBER"));

     while ($ob_product = $res_product->GetNext()) {

$one_product =$ob_product['VALUE'];

}

$array_product[]=$one_product;

 }

//объединяем все артикулы в строку

$string_articles = implode(",", $array_product);

  //-- добавляем новые поля в массив результатов

$arFields["ARTICLES"] = $string_articles;

}


Ещё статьи:

29.06.2023 Почему DNS есть, но ошибка "Не удалось получить записи с DNS серверов"
Проверка на VPS показывает, что DNS есть, но по факту ошибка "Не удалось получить записи с DNS серверов" ID: 461

29.06.2023 Почему отсутствуют для загрузки новые версии PHP
На одном VDS возникла ситуация, отсутствуют для загрузки новые версии РНР ID: 460

11.06.2023 Проблема кеширования битрикс меню подразделов
В новой версии обновления битрикс вылезла проблема с кешем меню выпадающих пунктов раздела (меню вида .тип_меню.menu_ext.php). При переходе по ссылкам в боковом меню раздела всегда будет подменю раздела на который зашли впервые и после этого наглухо закешируется, т.е. пункты подменю всегда одни и теже и не меняются. Отключать кеширование компонента не есть правильно, и не рекомендуется. ID: 459

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