Кастомизация письма о новом заказе на сайте в Битрикс

Довольно типичная задача, но у многих программистов вызывает недоумение: как в письмо, которое отправляется владельцу сайта, когда создаётся новый заказ, добавить дополнительные данные из свойств этого заказа?

Оказывается всё просто! Достаточно использовать этот обработчик:

OnOrderNewSendEmail

Пример реализации:

Добавляем этот код в init.php:

В шаблоне письма для вывода данных юзаем #ADDITIONAL_INFORMATION#

Профит!

3 комментария

  1. Отлично, спасибо! Все работает. Наверное стоит в документации указать, что при обновлении системы с 5.2, шаблон письма устанавливаться в систему не будет. А то пользователи обновились до 5.3 и не могут понять, почему письма в новом ИМ не отправляются никому.

  2. Рекомендую делать так. Если у магазина есть клиенты-юридические лица, ID свойств будут иные.

    AddEventHandler(«sale», «OnOrderNewSendEmail», «bxModifySaleMails»);
    function bxModifySaleMails($orderID, &$eventName, &$arFields)
    {
    if(CModule::IncludeModule(«sale») && CModule::IncludeModule(«iblock»))
    {
    $additional_information = »;
    $arOrder = CSaleOrder::GetByID($orderID);
    $order_props = CSaleOrderPropsValue::GetOrderProps($orderID);
    while($arProps = $order_props->Fetch())
    {
    $additional_information .= $arProps[‘NAME’].’: ‘.$arProps[‘VALUE’].»;
    }
    $arFields[«ADDITIONAL_INFORMATION»] = $additional_information;
    }
    }

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *