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

Add

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

int
CSubscription::Add(
	array arFields,
	string SITE_ID = SITE_ID
);

Метод добавляет подписку на рассылки и отправляет подписчику письмо с кодом подтверждения подписки (если не указано не отправлять). Метод нестатический.

Параметры

ПараметрОписание C версии
arFields Массив со значениями полей объекта "Подписка". Дополнительно могут быть указаны поля:
  • RUB_ID - массив идентификаторов рассылок, на которые подписывается адрес;
  • SEND_CONFIRM - отправлять ли письмо с кодом подтверждения подписчику (Y/N).
  • ALL_SITES - отписать подписчика от рассылок всех сайтов или только от заданного SITE_ID (Y/N).
  • USER_ID - необязательный. Идентификатор зарегистрированного пользователя.
SITE_ID Идентификатор сайта, по которому определяется шаблон письма о подтверждении подписки. По умолчанию параметр принимает значение текущего сайта. 4.0.0

Требования к полям, передаваемым в arFields

  • EMAIL - должно содержать правильный адрес e-mail (см. функцию check_email). Также выполняется проверка уникальности EMAIL.

Возвращаемые значения

В случае успешного добавления возвращается ID подписки. В противном случает возвращается false, и переменная класса LAST_ERROR содержит сообщение об ошибке (так же возбуждается исключение CMain::ThrowException).

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

//there must be at least one newsletter category
if(!is_array($RUB_ID) || count($RUB_ID) == 0)
	$strWarning .= "There must be at least one category."."<br>";

if($strWarning == "")
{
	$arFields = Array(
		"USER_ID" => ($USER->IsAuthorized()? $USER->GetID():false),
		"FORMAT" => ($FORMAT <> "html"? "text":"html"),
		"EMAIL" => $EMAIL,
		"ACTIVE" => "Y",
		"RUB_ID" => $RUB_ID
	);
	$subscr = new CSubscription;

	//can add without authorization
	$ID = $subscr->Add($arFields);
	if($ID>0)
		CSubscription::Authorize($ID);
	else
		$strWarning .= "Error adding subscription: ".$subscr->LAST_ERROR."<br>";
}


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх