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

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