Как в Битриксе добавить все поля в почтовое событие

Данный код помогает собрать все свойства заказа и затем передать в виде строки только те свойства которые заполненны.

AddEventHandler("sale", "OnOrderNewSendEmail", "bxModifySaleMails");
function bxModifySaleMails($orderID, &$eventName, &$arFields)
{
	$arOrder = CSaleOrder::GetByID($orderID);
	$order_props = CSaleOrderPropsValue::GetOrderProps($orderID);
	$orderPropsFormat = '';
	while ($arProps = $order_props->Fetch()) {
		if ($arProps['VALUE']) {
			if ($arProps['ORDER_PROPS_ID'] != 12) {
				$orderPropsFormat .= $arProps['NAME'].":".$arProps['VALUE']."";
			} else {
				$orderPropsFormat .= $arProps['NAME'].":да";
			}
		}
	}
	if ($arOrder = CSaleOrder::GetByID($orderID)) {
		if ($arPaySys = CSalePaySystem::GetByID($arOrder['PAY_SYSTEM_ID'])) {
			$orderPropsFormat .= "Способ оплаты:".$arPaySys["PSA_NAME"]."";
		}
	}
	$arFields["ALL_PROPS"] = $orderPropsFormat;
}

Кроме свойств, также передается способ оплаты. Для свойства с ID = 12 значение выставляется в виде строки «да».

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

Какие услуги предоставляю:
- Создание сайтов, шаблонов и компонентов на 1С-Битрикс;
- Разработка функционала с нуля и доработка кода на уже созданных проектах;
- Адаптивная вёрстка макетов и натяжка на Битрикс;
- Парсинг файлов и выгрузка на сайт (форматы - CSV, XML, XLSX, JSON)
- Интеграции со сторонними сервисами по API;
- Многоязычные версии и многое другое.

Если у вас остались вопросы, свяжитесь со мной любым удобным для вас способом или оставьте комментарий внизу.
E-mail: dmitriyribka@gmail.com
Skype: cinemacreaterus

Добавить комментарий

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