Суть: В интернет-магазине на Битрикс при оформлении заказа в корзине есть дополнительные поля: [файл] и [номер телефона]. Когда пользователь оформляет заказ, ему на почту приходит стандартное почтовое уведомление, которые не содержит нужных полей.

Задача: Добавить эти поля в письмо пользователю + Добавить почтовое событие, чтобы менеджеру магазина так же приходила нужная информация о заказе.

Оформление заказа в Битриксе - добавляем свои поля

1) Есть форма заказа в корзине, к которой нужно прикрепить дополнительные поля: [файл] и [номер телефона]:

Заходим в Магазин - Настройки - Свойства заказа - Список свойств и добавляем нужные нам:

Оформление заказа - дополнительные поля

Форма оформления заказа на сайте теперь выглядит так:

Форма оформления заказа в Битрикс интернет-магазине

2) Заходим в local/php_interface/init.php и прописываем обработчик:

<?php
AddEventHandler("sale", "OnOrderNewSendEmail", "bxModifySaleMails");
function bxModifySaleMails($orderID, &$eventName, &$arFields)
{
$additional_information = '';
$arOrder = CSaleOrder::GetByID($orderID);
$order_props = CSaleOrderPropsValue::GetOrderProps($orderID);
while ($arProps = $order_props->Fetch()){ if ($arProps['ORDER_PROPS_ID']==14){
$additional_information.='<br><br><b>Контактный телефон:</b> '.$arProps['VALUE'];
} if ($arProps['ORDER_PROPS_ID']==20){
$img_path = '<a href="' . CFile::GetPath($arProps['VALUE']) . '" target="_blank">Скачать реквизиты</a>';
$additional_information.='<br><b>Реквизиты компании:</b> '.$img_path;
}
}
$arFields["ADD_INFORMATION"] = $additional_information;
}


В нашем случае показано, как находим тип "Строка" и тип "Файл".

Теперь данные нужно внести в почтовый шаблон, для этого заходим в Настройки - Настройки продукта - Почтовые и СМС события - Почтовые шаблоны.

Выбираем [SALE_NEW_ORDER] и в тело письма вставляем #ADD_INFORMATION#:

Почтовый шаблон в Битриксе

Сохраняем и получаем результат:

Письмо на почту с сайта Битрикса


Спасибо Михаилу Базарову за исходный код обработчика :)



← Вернуться ко всем записям