чтобы не плодить темы, поддержу вопрос здесь- БОЛЬШИНСТВУ интернет-магазинов в почтовом письме необходимы артикулы, это факт!
мои поиски как это сделать привели к следующему:
артикул можно добавить путём изменения кода в компоненте sale.order.ajax, а именно (для чайников) в файле: //Bitrix\www\bitrix\components\bitrix\sale.order.ajax\component.php
заказ формируется в блоке:
// mail message
if (empty($arResult["ERROR"]
)
{
$strOrderList = "";
$arBasketList = array();
$dbBasketItems = CSaleBasket::GetList(
array("ID" => "ASC"
,
array("ORDER_ID" => $arResult["ORDER_ID"]
,
false,
false,
array("ID", "PRODUCT_ID", "NAME", "QUANTITY", "PRICE", "CURRENCY", "TYPE", "SET_PARENT_ID"
);
while ($arItem = $dbBasketItems->Fetch())
{
if (CSaleBasketHelper::isSetItem($arItem))
continue;
$arBasketList[] = $arItem;
}
$arBasketList = getMeasures($arBasketList);
foreach ($arBasketList as $arItem)
{
$measureText = (isset($arItem["MEASURE_TEXT"]
&& strlen($arItem["MEASURE_TEXT"]
) ? $arItem["MEASURE_TEXT"] : GetMessage("SOA_SHT"
;
$strOrderList .= $arItem["NAME"]." - ".$arItem["QUANTITY"]." ".$measureText.": ".SaleFormatCurrency($arItem["PRICE"], $arItem["CURRENCY"]
;
$strOrderList .= "\n";
}
$arFields = Array(
"ORDER_ID" => $arOrder["ACCOUNT_NUMBER"],
"ORDER_DATE" => Date($DB->DateFormatToPHP(CLang::GetDateFormat("SHORT", SITE_ID))),
"ORDER_USER" => ( (strlen($arUserResult["PAYER_NAME"]
> 0) ? $arUserResult["PAYER_NAME"] : $USER->GetFormattedName(false)),
"PRICE" => SaleFormatCurrency($orderTotalSum, $arResult["BASE_LANG_CURRENCY"]
,
"BCC" => COption::GetOptionString("sale", "order_email", "order@".$SERVER_NAME),
"EMAIL" => (strlen($arUserResult["USER_EMAIL"]
>0 ? $arUserResult["USER_EMAIL"] : $USER->GetEmail()),
"ORDER_LIST" => $strOrderList,
"SALE_EMAIL" => COption::GetOptionString("sale", "order_email", "order@".$SERVER_NAME),
"DELIVERY_PRICE" => $arResult["DELIVERY_PRICE"],
);
$eventName = "SALE_NEW_ORDER";
$bSend = true;
foreach(GetModuleEvents("sale", "OnOrderNewSendEmail", true) as $arEvent)
if (ExecuteModuleEventEx($arEvent, Array($arResult["ORDER_ID"], &$eventName, &$arFields))===false)
$bSend = false;
if($bSend)
{
$event = new CEvent;
$event->Send($eventName, SITE_ID, $arFields, "N"
;
}
CSaleMobileOrderPush::send("ORDER_CREATED", array("ORDER_ID" => $arFields["ORDER_ID"]
);
}
Уважаемые разработчики! Ну напишите же уже пожалуйста, что исправить в этом коде, чтобы в заказ добавился артикул?