Свои поля заказа в почтовом шаблоне битрикс

Свои поля заказа в почтовом шаблоне битрикс

03.02.2017

Очень часто стандартных возможностей не хватает и требуется доработка сайта Битрикс, например, в нашем случае почтового шаблона о новом заказе в интернет-магазине. Возможности системы позволяют это сделать. По факту задача заключается в отправке дополнительных данных (Контактная информация, Полное имя (Ф.И.О), Контактный E-Mail, Контактный телефон, Адрес доставки, Комментарий к заказу), которых нет в обычном шаблоне.

Скачать пример файла init.php

Пример добавления своего поля в любой почтовый шаблон Битрикс 

Первым делом готовим шаблон письма, редактируем нужный шаблон события SALE_NEW_ORDER:

почтовое событие битрикс новый заказ+

Добавляем в верстке нужные нам поля, например, как-то так:

Контактная информация:
Полное имя (Ф.И.О): #FIO#
Контактный E-Mail : #EMAIL#
Контактный телефон: #PHONE#
Адрес доставки: #FULL_ADDRESS# 
Комментарий к заказу: #ORDER_DESCRIPTION# 

шаблон нового заказа битрикс

Готовим обработку в файле init.php

//-- Добавление обработчика события
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 = "";
$fio = "";
while ($arProps = $order_props->Fetch())
{
if ($arProps["CODE"] == "PHONE")
{
$phone = htmlspecialchars($arProps["VALUE"]);
}
if ($arProps["CODE"] == "FIO")
{
$fio = htmlspecialchars($arProps["VALUE"]);
}
if ($arProps["CODE"] == "EMAIL")
{
$email = htmlspecialchars($arProps["VALUE"]);
}
if ($arProps["CODE"] == "INDEX")
{
$index = $arProps["VALUE"];
}
if ($arProps["CODE"] == "ADDRESS")
{
$address = $arProps["VALUE"];
}
}
$full_address = $address;
//-- получаем название службы доставки
$arDeliv = CSaleDelivery::GetByID($arOrder["DELIVERY_ID"]);
$delivery_name = "";
if ($arDeliv)
{
$delivery_name = $arDeliv["NAME"];
}
//-- получаем название платежной системы
$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;
$arFields["DELIVERY_NAME"] =  $delivery_name;
$arFields["PAY_SYSTEM_NAME"] =  $pay_system_name;
$arFields["FULL_ADDRESS"] = $full_address;
$arFields["FIO"] = $fio;
}

Скачать пример файла init.php
В итоге довольный менеджер магазина получает такое письмо:

вид доработанного шаблон письма битрикс


Ещё статьи:

18.01.2023 Нюансы перехода битрикс на РНР 8.0
С февраля битрикс прекращает поддерживать РНР 7.4 и в битрикс сегменте сайтов начался переход на РНР 8 для получения обновлений.
Но без нюансов и ошибок... ID: 431

10.01.2023 БУС окончательно всё?
Появилась информация от битрикс, что грубо говоря поддержка по отраслевому медицинскому решению от битрикс будет до 1 февраля 2024 года, а что потом б... ID: 426

30.08.2022 Типовые претензии к подрядчику и к битрикс
По свежим следам я собрал типовые претензии к подрядчику и к битрикс. Мной был проведён аудит и я увидел, что техническое состояние сайта хорошее, нареканий... ID: 338

Новые статьи в блоге:

29.01.2023 Хостинг бегет - сапожник без сапог
На днях захожу на страницу поддержки бегет и у меня ничего не работает. Выясняется, что api.beget.com/v1/helpdesk с трояном HEUR:Backdoor.PHP.WebShell... ID: 435

25.01.2023 Ошибка работы веб форм битрикс в аякс режиме
Возникла задача внедрить битрикс формы на сайт битрикс, но нюанс в том, что страница лендинг в HTML без подключения битрикс шаблона.
В целом я не предполагал,... ID: 434

19.01.2023 Ник ру покупает отзывы, но выше дна не подняться
Самый убогий хостинг провайдер, который ворует домены у клиентов покупает отзывы. ID: 433

Возврат к списку

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