Пример реализации , ниже скрипт вставляемый в битрикс в init.php
После чего в шаблон можно будет вставить следующие ДОПОЛНИТЕЛЬНЫЕ переменные:
Способ оплаты: #PAY_SYSTEM_NAME# <br>
Способ доставки: #DELIVERY_NAME# <br>
Адрес доставки: #FULL_ADDRESS# <br>
Сумма доставки: #DELIVERY_PRICE# руб.<br>
Данный код для тех у кого есть доп. переменные для указания времени доставки ОТ и ДО
DELIVERY_PERIOD_FROM
DELIVERY_PERIOD_TO
Общая сумма заказа есть по умолчанию и уже включает цену доставки.
После чего в шаблон можно будет вставить следующие ДОПОЛНИТЕЛЬНЫЕ переменные:
Способ оплаты: #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; } |