Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно, 
то ждем ваше обращение в нашей службе тех поддержки.
		
	
								
			
Идея решения:
1. Добавляем новые поля в шаблон почтового события SALE_NEW_ORDER.
Поля добавляем в текст шаблона в виде
2. Добавляем в систему обработчик события "перед отправкой почтового уведомления о новом заказе".
3. В обработчике события заполняем добавленные в шаблон поля
Решение
Шаг 1. Шаблон SALE_NEW_ORDER
В шаблон добавил такой текст
Шаги 2 и 3. Код
в /bitrix/php_interface/init.php
вписал такой код
Полезные ссылки
			
			
Назад в раздел
		  
	
	
	
	
		 Наверх
 Наверх
	
	
то ждем ваше обращение в нашей службе тех поддержки.
Дополнительные поля в почтовом уведомлении о новом заказе
Задача: добавить поля "комментарий киента к заказу", "телефон", "название службы доставки", "название способа оплаты", "полный адрес клиента" в шаблон письма-уведомления о новом заказеИдея решения:
1. Добавляем новые поля в шаблон почтового события SALE_NEW_ORDER.
Поля добавляем в текст шаблона в виде
| #<имя поля># | 
3. В обработчике события заполняем добавленные в шаблон поля
Решение
Шаг 1. Шаблон SALE_NEW_ORDER
В шаблон добавил такой текст
| ... Контактный телефон: #PHONE# Комментарий: #ORDER_DESCRIPTION# Служба доставки: #DELIVERY_NAME# Способ оплаты: #PAY_SYSTEM_NAME# Адрес доставки: #FULL_ADDRESS# ... | 
в /bitrix/php_interface/init.php
вписал такой код
| //-- Добавление обработчика события
AddEventHandler("sale", "OnOrderNewSendEmail", "bxModifySaleMails");
//-- Собственно обработчик события
function bxModifySaleMails($orderID, &$eventName, &$arFields)
{
  $arOrder = CSaleOrder::GetByID($orderID);
  
  //-- получаем телефоны и адрес
  $order_props = CSaleOrderPropsValue::GetOrderProps($orderID);
  $phone="";
  $index = ""; 
  $country_name = "";
  $city_name = "";  
  $address = "";
  while ($arProps = $order_props->Fetch())
  {
    if ($arProps["CODE"] == "PHONE")
    {
       $phone = htmlspecialchars($arProps["VALUE"]);
    }
    if ($arProps["CODE"] == "LOCATION")
    {
        $arLocs = CSaleLocation::GetByID($arProps["VALUE"]);
        $country_name =  $arLocs["COUNTRY_NAME_ORIG"];
        $city_name = $arLocs["CITY_NAME_ORIG"];
    }
    if ($arProps["CODE"] == "INDEX")
    {
      $index = $arProps["VALUE"];   
    }
    if ($arProps["CODE"] == "ADDRESS")
    {
      $address = $arProps["VALUE"];
    }
  }
  $full_address = $index.", ".$country_name."-".$city_name.", ".$address;
  //-- получаем название службы доставки
  $arDeliv = CSaleDelivery::GetByID($arOrder["DELIVERY_ID"]);
  $delivery_name = "";
  if ($arDeliv)
  {
    $delivery_name = $arDeliv["NAME"];
  }
  //-- получаем название платежной системы   
  $arPaySystem = CSalePaySystem::GetByID($arOrder["PAY_SYSTEM_ID"]);
  $pay_system_name = "";
  if ($arPaySystem)
  {
    $pay_system_name = $arPaySystem["NAME"];
  }
  //-- добавляем новые поля в массив результатов
  $arFields["ORDER_DESCRIPTION"] = $arOrder["USER_DESCRIPTION"]; 
  $arFields["PHONE"] =  $phone;
  $arFields["DELIVERY_NAME"] =  $delivery_name;
  $arFields["PAY_SYSTEM_NAME"] =  $pay_system_name;
  $arFields["FULL_ADDRESS"] = $full_address;   
}
 | 
Полезные ссылки
| Прототип кода взял из комментария к статье "Артикул в уведомлении о заказе" Спасибо автору События интернет-магазина Тут помог раздел "События связанные с отправкой почтовых шаблонов" Курс разработчика, раздел "Обработка событий" Документация для разработчика, раздел "Обработка событий" Тема форума "Обработка событий" | 
Назад в раздел
Подписаться на новые материалы раздела:
	Загрузка...
	
			
				
	
		
	
	
	
	
	 Наверх
 Наверх