Документация для разработчиков
Темная тема

Add

Описание и параметры

mixed
CEventMessage::Add(
	array fields
)

Метод добавляет новый почтовый шаблон. Возвращает ID вставленного шаблона. При возникновении ошибки, метод вернет false, а в свойстве LAST_ERROR объекта будет содержаться текст ошибки. Нестатический метод.


Параметры

ПараметрОписание
fields Массив значений полей вида array("поле"=>"значение" [, ...]). В качестве «полей» допустимо использовать:
  • ACTIVE — флаг активности почтового шаблона:
    • "Y" — активен
    • "N" — не активен
  • EVENT_NAME — идентификатор типа почтового события
  • LID — идентификатор сайта
  • EMAIL_FROM — поле From («Откуда»)
  • EMAIL_TO — поле To («Куда»)
  • BCC — поле BCC («Скрытая копия»)
  • SUBJECT — заголовок сообщения
  • BODY_TYPE — тип тела почтового сообщения:
    • "text" — текст
    • "html" — HTML
  • MESSAGE — тело почтового сообщения

Если нужно добавить своё поле (например, envelope-from) прописываем в fields массив ADDITIONAL_FIELD:

$em = new CEventMEssage;

$arFields = array(
	'ACTIVE'     =>  'Y',
	'EVENT_NAME' =>  'EVENT_NAME',
	//...
	'ADDITIONAL_FIELD'  => array(
		array(
			'NAME'  =>  'envelope-from',
			'VALUE' =>  '#DEFAULT_EMAIL_FROM#'
		)
	)
);

$result = $em->Add( $arFields );

//...

Примеры использования

<?
$arr["ACTIVE"] = "Y";
$arr["EVENT_NAME"] = "ADV_CONTRACT_INFO";
$arr["LID"] = array("s1","s2");
$arr["EMAIL_FROM"] = "#DEFAULT_EMAIL_FROM#";
$arr["EMAIL_TO"] = "#EMAIL_TO#";
$arr["BCC"] = "#BCC#";
$arr["SUBJECT"] = "Тема сообщения";
$arr["BODY_TYPE"] = "text";
$arr["MESSAGE"] = "
Текст сообщения
";

$emess = new CEventMessage;
$emess->Add($arr);
?>

Как создать шаблон для SMS сообщения

Метод CEventMessage::Add создает только почтовый шаблон. Добавить шаблон для SMS сообщения можно другим способом:

//sms templates
$smsTemplates = [
	[
		"EVENT_NAME" => "SMS_USER_CONFIRM_NUMBER",
		"ACTIVE" => true,
		"SENDER" => "#DEFAULT_SENDER#",
		"RECEIVER" => "#USER_PHONE#",
		"MESSAGE" => GetMessage("main_install_sms_template_confirm_mess"),
		"LANGUAGE_ID" => $languageId,
	],
	[
		"EVENT_NAME" => "SMS_USER_RESTORE_PASSWORD",
		"ACTIVE" => true,
		"SENDER" => "#DEFAULT_SENDER#",
		"RECEIVER" => "#USER_PHONE#",
		"MESSAGE" => GetMessage("main_install_sms_template_restore_mess"),
		"LANGUAGE_ID" => $languageId,
	],
	[
		"EVENT_NAME" => "SMS_EVENT_LOG_NOTIFICATION",
		"ACTIVE" => true,
		"SENDER" => "#DEFAULT_SENDER#",
		"RECEIVER" => "#PHONE_NUMBER#",
		"MESSAGE" => GetMessage("main_install_sms_template_notification_mess"),
		"LANGUAGE_ID" => $languageId,
	],
];

$entity = \Bitrix\Main\Sms\TemplateTable::getEntity();
$site = \Bitrix\Main\SiteTable::getEntity()->wakeUpObject("s1");

foreach ($smsTemplates as $smsTemplate)
{
	$template = $entity->createObject();
	foreach ($smsTemplate as $field => $value)
	{
		$template->set($field, $value);
	}
	$template->addToSites($site);
	$template->save();
}


© «Битрикс», 2001-2024, «1С-Битрикс», 2024