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

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

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
В итоге довольный менеджер магазина получает такое письмо:

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


Ещё статьи:

15.02.2024 История о жадности или как клиент свободное место искал на сервере
Случилась у меня одна история с клиентом, который свободное место искал на сервере, но на самом деле это больше о жадности, но в итоге всё равно пришл... ID: 466

08.11.2023 Хроники БУС упадка
На днях произошли очередные изменения в БУС битрикс. Полезный модуль bitrix.xscan включили в состав проактивной защиты и убрали из бесплатного сегмента... ID: 465

26.07.2023 Kwork.com закрыл доступ для резидентов РФ
Доступ к выставлению услуг теперь ограничен "К сожалению, вынуждены сообщить, что резиденты РФ в настоящее время не могут использовать сайт Kwork... ID: 463

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

01.12.2025 Задача алфавитный указатель товаров
Интересная задача для тренировки навыков.
Суть такая:
Алфавитный указатель товаров, но не стандартный где обычно сортировка разделов по названию происходит,... ID: 649

01.12.2025 Junior разработчик PHP 2025
Периодически бывает вижу вакансии для джунов, и немного прозреваю от того что я вижу.
Обязанности джуна Junior разработчик PHP ID: 648

29.11.2025 Обзор на маркетплейс модулей города по IP адресу
Неделю назад повёлся на предложение клиента пойти вариантом платного модуля для замены модуля выбора города, хотя изначально сказал, что там ловить нечего.... ID: 647

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

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