Пример реализации , ниже скрипт вставляемый в битрикс в init.php
После чего в шаблон можно будет вставить следующие ДОПОЛНИТЕЛЬНЫЕ переменные:
Способ оплаты: #PAY_SYSTEM_NAME# <br>
Способ доставки: #DELIVERY_NAME# <br>
Адрес доставки: #FULL_ADDRESS# <br>
Сумма доставки: #DELIVERY_PRICE# руб.<br>
Данный код для тех у кого есть доп. переменные для указания времени доставки ОТ и ДО
DELIVERY_PERIOD_FROM
DELIVERY_PERIOD_TO
Общая сумма заказа есть по умолчанию и уже включает цену доставки.
AddEventHandler("sale", "OnOrderNewSendEmail", "bxModifySaleMails");
//-- Собственно обработчик события
function bxModifySaleMails($orderID, &$eventName, &$arFields)
{
$arOrder = CSaleOrder::GetByID($orderID);
//-- получаем телефоны и адрес
$order_props = CSaleOrderPropsValue::GetOrderProps($orderID);
$phone="";
$index = "";
$country_name = "";
$city_name = "";
$address = "";
while ($arProps = $order_props->Fetch())
{
if ($arProps["CODE"] == "PHONE")
{
$phone = htmlspecialchars($arProps["VALUE"]);
}
if ($arProps["CODE"] == "LOCATION")
{
$arLocs = CSaleLocation::GetByID($arProps["VALUE"]);
$country_name = $arLocs["COUNTRY_NAME_ORIG"];
$city_name = $arLocs["CITY_NAME_ORIG"];
}
if ($arProps["CODE"] == "INDEX")
{
$index = $arProps["VALUE"];
}
if ($arProps["CODE"] == "ADDRESS")
{
$address = $arProps["VALUE"];
}
}
$full_address = $index.", ".$country_name." ".$city_name.", ".$address;
//-- получаем название службы доставки
$arDeliv = CSaleDelivery::GetByID($arOrder["DELIVERY_ID"]);
$delivery_name = "";
if ($arDeliv)
{
$delivery_name = $arDeliv["NAME"];
}
//-- генерируем срок доставки
$delivery_period_type = "";
switch ($arDeliv["PERIOD_TYPE"]) {
case "D":
$delivery_period_type = "дней";
break;
case "H":
$delivery_period_type = "часов";
break;
case "M":
$delivery_period_type = "месяцев";
break;
}
//-- получаем название платежной системы
$arPaySystem = CSalePaySystem::GetByID($arOrder["PAY_SYSTEM_ID"]);
$pay_system_name = "";
if ($arPaySystem)
{
$pay_system_name = $arPaySystem["NAME"];
}
//-- добавляем новые поля в массив результатов
$arFields["ORDER_DESCRIPTION"] = $arOrder["USER_DESCRIPTION"];
$arFields["PHONE"] = $phone;
// Проверка на пустое поле (для заказ в 1 клик), что бы запускался неактивный шаблон
if($arFields["PHONE"] == false) {
$eventName = 'SALE_NEW_ORDER_COPY';
}
$arFields["DELIVERY_NAME"] = $delivery_name;
$arFields["DELIVERY_PRICE"] = $arOrder["PRICE_DELIVERY"];
$arFields["DELIVERY_PERIOD_TYPE"] = $delivery_period_type;
$arFields["DELIVERY_PERIOD_FROM"] = $arDeliv["PERIOD_FROM"];
$arFields["DELIVERY_PERIOD_TO"] = $arDeliv["PERIOD_TO"];
$arFields["FULL_ADDRESS"] = $full_address;
$arFields["PAY_SYSTEM_NAME"] = $pay_system_name;
}