Битрикс подписка при регистрации

При помощи простых действий можно подписывать ваших пользователей на новости, если отмечена соответствующая галочка.

Как автоматически добавлять пользователей в подписку при регистрации в Битриксе

Вам нужно сделать 3 простых шага:
1. Создайте дополнительное пользовательское поле типа «Да\Нет» с кодом UF_SUBSCRIBE
2. в свою форму регистрации добавьте HTML:

< input class="reg-check" name="UF_SUBSCRIBE" type="checkbox" value="Y" >

3. Добавьте обработчик события для новых пользователей:

/*
 * Подписка на рассылку при регистрации
 */
AddEventHandler("main", "OnAfterUserAdd", "OnAfterUserAddHandler");

function OnAfterUserAddHandler(&$arFields)
{

	$errors = Array();

	if($arFields["ID"]>0 && $arFields["UF_SUBSCRIBE"])
	{

		if(CModule::IncludeModule("subscribe")) {

			$USER_ID = $arFields["ID"];
			$EMAIL = $arFields["EMAIL"];

			$arFilter = array(
				"ACTIVE" => "Y",
				"LID" => "s1",
				"VISIBLE"=>"Y",
			);

			$rsRubrics = CRubric::GetList(array(), $arFilter);
			$arRubrics = array();
			while($arRubric = $rsRubrics->GetNext()) $arRubrics[] = $arRubric["ID"];

			$obSubscription = new CSubscription;

			$rsSubscription = $obSubscription->GetList(array(), array("USER_ID" => $USER_ID));
			$arSubscription = $rsSubscription->Fetch();

			if(is_array($arSubscription))
			{
				$rs = $obSubscription->Update(
					$arSubscription["ID"],
					array(
						"FORMAT" => "html",
						"RUB_ID" => $arRubrics,
					),
					false
				);
			}
			else
			{
				$ID = $obSubscription->Add(array(
					"USER_ID" => $USER_ID,
					"ACTIVE" => "Y",
					"EMAIL" => $EMAIL,
					"FORMAT" => "html",
					"CONFIRMED" => "Y",
					"SEND_CONFIRM" => "N",
					"RUB_ID" => $arRubrics,
				));
			}

		}

	}

}

Вот и всё. Теперь при регистрации ваши пользователи автоматически будут подписываться на рубрики 🙂

автор: Dmitriy

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

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

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

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

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