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

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
Наверх