Вход Регистрация
*— обязательные для заполнения поля
Войти через социальные сети

E-mail отдела продаж отдельно для каждого сайта Битрикс

Сегодня я расскажу как сделать уведомления о смене статуса заказа с разных сайтов с соответствующим этому сайту e-mail отдела продаж.

Друзья, данная возможность давно реализована в этом модуле TS Умные статусы и письма заказов

Кто знаком с Битрикс, знает эту проблему, т.к. по умолчанию в Битрикс задается только один email отдела продаж в настройках модуля Интернет-магазин.
И если администрировать магазин Битрикс с многосайтовостью, то во всех письмах в поле От будет единый адрес e-mail, который указан в настройках, как на рисунке.

E-Mail отдела продаж Битрикс

Решается проблема с помощью обработчиков событий Битрикс в файле /bitrix/php_interface/init.php

AddEventHandler("sale", "OnOrderNewSendEmail", "OnOrderUpdateHandler");
AddEventHandler("sale", "OnOrderStatusSendEmail", "OnOrderUpdateHandler");
AddEventHandler("sale", "OnOrderCancelSendEmail", "OnOrderUpdateHandler");
function OnOrderUpdateHandler($ID,&$eventName,&$arFields,$val)
{

    if (CModule::IncludeModule("sale"))
    {
        //Получаем LID сайта по ID заказа
       $res = CSaleOrder::GetList(array(), array('ID' => $ID), false, false, array('ID','LID'));
       $arOrder = $res->Fetch();

       //Получаем список всех активных сайтов
       $res = CSite::GetList($by="sort", $order="desc", array('ACTIVE'=>'Y'));
       while($arSite = $res->Fetch())
       {
            if(trim($arSite['EMAIL']) && $arOrder['LID']==$arSite['LID'])
                $arFields['SALE_EMAIL'] = trim($arSite['EMAIL']);
       }
    }
}

Что делают события:
OnOrderNewSendEmail - сработает при добавлении заказа.
OnOrderStatusSendEmail - сработает при изменении статуса заказа.
OnOrderCancelSendEmail - сработает при отмене заказа.

Обращаю Ваше внимание, что этот код будет для всех сайтов подставлять тот E-mail из настроек сайта, который соответствует сайту заказа.
Т.е. если редактируется заказ оформленный на сайте s4, то в письме в поле От будет подставлен e-mail сайта s4, а не из поля E-Mail отдела продаж в настройках модуля Интернет-магазин.

Задается E-mail для каждого сайта отдельно на странице редактирования сайта перейдя в детальную форму настроек.

Список сайтов Битрикс
E-Mail адрес сайта по умолчанию


Комментарии
Получать ответы на почту
ЗОЖ
Комментарии
Последние комментарии
Здравствуйте, можно ли у вас заказать доработку модуля? Нам необходимо 1) в этом модуле подключить ф...
Спасибо за помощь, думаю такой вариант решения подойдет. :smile:
В админке все одним списком будет, иначе не сделать, только фильтром пользоваться. В публичке, напри...
Спасибо за ответы, насчет 2-го вопроса, дело в том, что в админке битрикса, я не нашел возможности с...
Я стараюсь каждый компонент делать так, чтобы работали отдельно, но я сам не пробовал, не всегда так...
А это фича битрикса, "обратная постраничная навигация" так работает, это пока в ко...
Если через параметры компонента передаете привязку к ID товара, то скорее всего у вас они закэширова...
Подписка
Выберите рассылку