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

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

Получение артикулов товаров в новом заказе. Задача по сути заключается в добавлении в файл 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;

}


Ещё статьи:

19.01.2021 Задача модуль регистрации участника акции
Задача по разработке модуля регистрации участника акции на сайт Битрикс. В модуле должны быть следующие поля: ID: 316

07.01.2021 Почему в битрикс автоматически отключаются пользователи
На сайте с определённой периодичностью происходила деактивация аккаунтов пользователей. Логин становился неактивным и зайти на сайт не получалось. ID: 314

07.01.2021 Ошибка сокетов
Бывает выскакивает такая ошибка в битрикс "Работа с сокетами    Ошибка! Не работает", "Замечание. Не удалось проверить из-за ошибки в работе с сокетами" ID: 315

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