Техподдержка сайтов
+7 (904) 589-06-04
+7 (904) 589-06-04
telegram @sng24
MAX
info@sng-it.ru
ПРОГРАММИСТ 1С-БИТРИКС
ПРОГРАММИСТ 1С-БИТРИКС
разработка · доработка · техподдержка
О себе
Услуги
  • Обновление сайтов на 1С-Битрикс
  • Поиск и удаление вирусов
  • Создание сайтов
  • Интеграция сайта с 1С
  • Композитный сайт
  • Внутренняя оптимизация сайта
  • Доработка сайтов
  • Импорт каталога из файла поставщика
  • Перенос сайта на 1С Битрикс
  • Парсинг контента
  • Установка готового сайта
  • Купить лицензию 1С Битрикс
  • Битрикс 24
  • Выгрузка товаров в Яндекс.Маркет
  • Настройка служб доставки
  • Интеграция с соцсетями
  • Заказ на Маркете
  • Перевод сайта на https
  • Сопровождение сайтов на 1С Битрикс
  • Настройка платежных систем
Портфолио
Готовые сайты
  • Недвижимость
  • Медицина
  • Ресторанный бизнес
  • Автомобили и автозапчасти
  • Бухгалтерские и юридические услуги
  • Государство
  • Детские товары
  • Красота и здоровье
  • Мебель, интерьер, декор
  • Образование
  • Одежда и обувь
  • Подарки и сувениры
  • Продукты питания
  • Спорт, туризм и отдых
  • Строительство, ремонт, инструменты
  • Товары для животных
  • ТСЖ, ЖСК
  • Украшения, аксессуары, подарки
  • Электроника и бытовая техника
  • Универсальные
  • Разное
1С Битрикс
  • Старт (7 100 ₽)
  • Стандарт (20 500 ₽)
  • Малый бизнес (47 000 ₽)
  • Бизнес (96 500 ₽)
  • Интернет-магазин + CRM (109 000 ₽)
  • Продление лицензии
  • Сравнить редакции
CRM
  • Битрикс24
Контакты
Ещё
    ПРОГРАММИСТ 1С-БИТРИКС
    ПРОГРАММИСТ 1С-БИТРИКС
    О себе
    Услуги
    Портфолио
    Готовые сайты
    1С Битрикс
    CRM
    Контакты
    ПРОГРАММИСТ 1С-БИТРИКС
    ПРОГРАММИСТ
    1С-БИТРИКС
    • Главная
    • О себе
    • Услуги
      • Назад
      • Услуги
      • Обновление сайтов на 1С-Битрикс
      • Поиск и удаление вирусов
      • Создание сайтов
      • Интеграция сайта с 1С
      • Композитный сайт
      • Внутренняя оптимизация сайта
      • Доработка сайтов
      • Импорт каталога из файла поставщика
      • Перенос сайта на 1С Битрикс
      • Парсинг контента
      • Установка готового сайта
      • Купить лицензию 1С Битрикс
      • Битрикс 24
      • Выгрузка товаров в Яндекс.Маркет
      • Настройка служб доставки
      • Интеграция с соцсетями
      • Заказ на Маркете
      • Перевод сайта на https
      • Сопровождение сайтов на 1С Битрикс
      • Настройка платежных систем
    • Портфолио
    • Готовые сайты
      • Назад
      • Готовые сайты
      • Недвижимость
      • Медицина
      • Ресторанный бизнес
      • Автомобили и автозапчасти
      • Бухгалтерские и юридические услуги
      • Государство
      • Детские товары
      • Красота и здоровье
      • Мебель, интерьер, декор
      • Образование
      • Одежда и обувь
      • Подарки и сувениры
      • Продукты питания
      • Спорт, туризм и отдых
      • Строительство, ремонт, инструменты
      • Товары для животных
      • ТСЖ, ЖСК
      • Украшения, аксессуары, подарки
      • Электроника и бытовая техника
      • Универсальные
      • Разное
    • 1С Битрикс
      • Назад
      • 1С Битрикс
      • Старт (7 100 ₽)
      • Стандарт (20 500 ₽)
      • Малый бизнес (47 000 ₽)
      • Бизнес (96 500 ₽)
      • Интернет-магазин + CRM (109 000 ₽)
      • Продление лицензии
      • Сравнить редакции
    • CRM
    • Контакты
    • Личный кабинет
    • +7 (904) 589-06-04
    Будьте на связи
    info@sng-it.ru
    • Вконтакте
    • YouTube

    Добавить в почтовое уведомление свойство заказа

    • Главная
    • ❶ Сниппеты
    • ❷ Добавить в почтовое уведомление свойство заказа

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

    Для этого используем в init.php событие OnBeforeEventAdd (перед отправкой почтового уведомления), которым добавляем данные в массив для отправки в почтовом уведомлении.

    К примеру, если используем тип почтового события SALE_NEW_ORDER, то можем взять все свойства заказа со значениями. В почтовом шаблоне их значения можно вывести как #PROP_VALUE_КОД_СВОЙСТВА#

    
    AddEventHandler("main", "OnBeforeEventAdd", "OnBeforeEventAddHandlerOrder");
    
        function OnBeforeEventAddHandlerOrder(&$event, &$lid, &$arFields)
        {
    	$order_id = $arFields[ORDER_REAL_ID];
            if ($order_id>0) {	
                $order = CSaleOrder::GetByID($order_id);
                if ($event=="SALE_NEW_ORDER" AND $order_id>0) {
    	
                    CModule::IncludeModule("sale");
                    $fields4email = array();
                    $arOrderProps = array();
                    $rsOrderProps = CSaleOrderPropsValue::GetOrderProps($order_id);
                    while ($ar = $rsOrderProps->GetNext()) {
                        $arOrderProps[$ar['CODE']?$ar['CODE']:$ar['ORDER_PROPS_ID']] = $ar;
                        $val = $ar['VALUE'];
                        if ($ar['TYPE']=="LOCATION") {
                            $v = CSaleLocation::GetByID($val);
                            $val = $v['CITY_NAME_LANG'];
                        } elseif (in_array($ar['TYPE'], array("SELECT", "MULTISELECT", "RADIO"))) {
                            $v = CSaleOrderPropsVariant::GetByValue($ar['ORDER_PROPS_ID'], $val);
                            $val = $v['NAME'];
                        }
                        $fields4email[$ar['CODE']?$ar['CODE']:$ar['ORDER_PROPS_ID']] = $val;				
                    }
    				
                    if (is_array($fields4email) AND !empty($fields4email)) {
                        foreach ($fields4email as $code=>$prop_val) {
                            $name = $arOrderProps[$code]['NAME'];
                            $arFields['PROP_'.$code] = $name.": ".$prop_val;
                            $arFields['PROP_VALUE_'.$code] = $prop_val;
                            $arFields['PROP_NAME_'.$code] = $name;
                        }
                    }
                } elseif ($event=="SALE_ORDER_DELIVERY") {
                    $arFields['DELIVERY_DOC_NUM'] = $order['DELIVERY_DOC_NUM'];
                    $arFields['DATE_ALLOW_DELIVERY'] = $order['DATE_ALLOW_DELIVERY'];            
                }
            }
        }
    


    Теги: почтовое уведомление, свойство заказа, OnBeforeEventAdd

    21.01.2020

    Поделиться:
    Назад к списку
    • Услуги
    • Перевод сайта на https
    • Выгрузка товаров в Яндекс.Маркет
    • Интеграция сайта с 1С
    • Создание сайтов
    • Композитный сайт
    • Внутренняя оптимизация сайта
      • Доработка сайтов
      • Импорт каталога из файла поставщика
      • Парсинг контента
      • Перенос сайта на 1С Битрикс
      • Установка готового сайта
      • Купить лицензию 1С Битрикс
        • Битрикс 24
          • Заказ на Маркете
          • Интеграция с соцсетями
          • Настройка служб доставки
          • Поиск и удаление вирусов
          • Сопровождение сайтов на 1С Битрикс
          • Настройка платежных систем
          • Выгрузка товаров на Hotline
          Аудит сайта
          Записаться на техподдержку

          © 2010-2026 Сайт битрикс программиста Семена Голикова.

          Отправляя любую форму на сайте, вы соглашаетесь с политикой в отношении обработки персональных данных данного сайта.
          - карта сайта
          Главное
          Информация
          Помощь
          • О себе
          • Услуги
          • Готовые сайты
          • Портфолио
          • Купить лицензию 1С Битрикс
          • Битрикс24
          • Контакты
          • Акции
          • Видеоуроки
          • Блог
          • Новости интернета
          • Про интеграцию с 1С
          • Внутренняя оптимизация сайта
          • Сниппеты
          • Хостинг для битрикс
          • Партнерам
          • Отзывы
          • Техподдержка
          +7 (904) 589-06-04
          - написать в MAX
          написать в Telegram - написать в Telegram
          - позвонить в WhatsApp
          Социальные сети:
          - карта сайта © 2010-2026 Сайт битрикс программиста Семена Голикова.
          Отправляя любую форму на сайте, вы соглашаетесь с политикой в отношении обработки персональных данных данного сайта.
          Спасибо за заявку!
          Мы свяжемся с Вами в ближайшее
          время и ответим на все вопросы.