Иногда есть необходимость добавить некоторые данные в письмо покупателю или администратору об успешном заказе на веб-сайта под управлением 1с-Битрикс. Это могут быть дополнительная информация о доставке или оплате, свойства заказа и другие данные. Для этого необходимо добавить код в init.php (проверялось на Управление сайтом 20.0.1650. (версия модуля интернет-магазин 20.0.687)):
AddEventHandler('sale', 'OnOrderNewSendEmail', function($orderID, &$eventName, &$arFields) {
$arOrder = CSaleOrder::GetByID($orderID);
// получаем телефоны и адрес
$order_props = CSaleOrderPropsValue::GetOrderProps($orderID);
$index = '';
$address = '';
while ($arProps = $order_props->Fetch()) {
if ($arProps['CODE'] == 'LOCATION') {
$arLoc = CSaleLocation::GetByID($arProps['VALUE'], LANGUAGE_ID);
// $country = $arLoc['COUNTRY_NAME'];
$city = $arLoc['REGION_NAME'] . ' ' . $arLoc['CITY_NAME_ORIG'];
}
if ($arProps['CODE'] == 'ZIP') {
$index = $arProps['VALUE'];
}
if ($arProps['CODE'] == 'ADDRESS'){
$address = $arProps['VALUE'];
}
}
$fullAddress = $index . ' ' . $city . ', ' . $address;
// получаем службу доставки
$arDelivery = CSaleDelivery::GetByID($arOrder['DELIVERY_ID']);
$deliveryName = '';
if ($arDelivery) {
$deliveryName = $arDelivery['NAME'];
}
// получаем способ оплаты
$arPaySystem = CSalePaySystem::GetByID($arOrder['PAY_SYSTEM_ID']);
$paySystemName = '';
if ($arPaySystem){
$paySystemName = $arPaySystem['NAME'];
}
// дополнительные свойства заказа (при необходимости)
$dbRes = \Bitrix\Sale\PropertyValueCollection::getList([
'select' => ['*'],
'filter' => [
'=ORDER_ID' => $orderID,
]
]);
while ($item = $dbRes->fetch()) {
// print_r($item);
}
// добавляем новые поля в массив результатов
$arFields['ORDER_DESCRIPTION'] = $arOrder['USER_DESCRIPTION'];
$arFields['DELIVERY_NAME'] = $deliveryName;
$arFields["PAYMENT_NAME"] = $paySystemName;
$arFields['FULL_ADDRESS'] = $fullAddress;
// в шаблоне письма #ORDER_DESCRIPTION# и т.д.
});Далее в админке Битрикса адрес_вашего_сайта/bitrix/admin/message_admin.php в списке шаблонов выберите шаблон с типом почтового события “SALE_NEW_ORDER”:

И в нем можете использовать переменные из примера:
#ORDER_DESCRIPTION# – описание заказа
#DELIVERY_NAME# – наименование службы доставки
#PAYMENT_NAME# – наименование платежной системы
#FULL_ADDRESS# – адрес
