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

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

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

}


Ещё статьи:

12.10.2020 Три золотых правила перед обновлением битрикс
Довольно часто банальное обновление приводит к ошибкам и потере работоспособности сайта битрикс. Чтобы потом не тратить своё время и нервы следует соблюдать три простых правила: 1. проверка системы, исправление ошибок, Оптимизация и проверка таблиц бд ID: 308

09.10.2020 Операторы сравнения для getList
Полный список операторов сравнения, которые можно использовать в выборке getList в так называемом фильтре ID: 306

22.09.2020 Отладка ошибок битрикс модулей
Часто не понятно с чем связана ошибка модуля и каких ему в реальности не хватает входных параметров, так как в документации об этом может быть не сказано.
Для этого есть два способа. ID: 256

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