Назад

Добавление параметра в почтовое событие Битрикс

Главная
Блог
Добавление параметра в почтовое событие Битрикс

В этой статье разберем, как добавить новые параметры со значениями перед отправкой письма в Битрикс. Это полезно, например, для автоматического формирования ссылки на трекинг заказа в зависимости от службы доставки.

Как добавить свой параметр перед отправкой письма

Почтовая система Битрикс позволяет гибко настраивать параметры писем. Рассмотрим пример кода, который добавляет ссылку на отслеживание заказа в зависимости от выбранной доставки.

Пример кода

AddEventHandler("main", "OnBeforeEventAdd", ["MyClass", "OnBeforeEventAddHandler"]);

class MyClass
{
    public static function OnBeforeEventAddHandler(&$event, &$lid, &$arFields)
    {
        if ($event === 'SALE_ORDER_TRACKING_NUMBER') {
            CModule::IncludeModule('sale');
            $ORDER_ID = $arFields['ORDER_ID'];
            
            if ($arOrder = CSaleOrder::GetByID($ORDER_ID)) {
                $postID = $arOrder['DELIVERY_ID'];
            }
            
            if ($postID == 19) {
                $url = 'tracking#';
            } elseif ($postID == 20) {
                $url = '?actc=';
            }
            
            $arFields["DELIVERY_TRACKING_URL"] = $url . $arFields["ORDER_TRACKING_NUMBER"];
        }
    }
}

Этот код нужно разместить в init.php (если файла нет – создайте его).

Как это работает?

  1. Регистрация обработчика

    • Событие OnBeforeEventAdd вызывается перед отправкой письма, позволяя изменить параметры.

  2. Проверка типа события

    • Код выполняется только для события SALE_ORDER_TRACKING_NUMBER.

  3. Определение службы доставки

    • По ORDER_ID получаем данные заказа и идентификатор доставки (DELIVERY_ID).

  4. Формирование ссылки

    • В зависимости от DELIVERY_ID генерируется URL для отслеживания.

  5. Добавление нового параметра

    • DELIVERY_TRACKING_URL становится доступным в почтовом шаблоне как #DELIVERY_TRACKING_URL#.

Преимущества метода

  • Гибкость – можно добавлять любые параметры, не затрагивая основной код.

  • Безопасность – изменения не влияют на стандартную логику работы.

  • Удобство – параметры доступны в шаблонах писем.

Теперь вы знаете, как расширить функционал почтовых событий в Битрикс. Этот подход можно адаптировать под любые сценарии!

Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Читайте по теме
Все статьи
Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Все статьи