О web-разработке
и даже немного больше...

Подписка пользователя на почтовую рассылку

Сегодня на сайтах повсеместно используются различные механизмы подписки пользователей на почтовые рассылки. Рассмотрим пример кода, которым можно воспользоваться, если вы собираетесь делать подписку пользователя на рассылку в битрикс-е. Использование подобного кода удобно в случаях, когда к примеру, вам необходимо организовать подписку пользователей при регистрации на сайте.

<?php

class subscr {
	
	const SUBSC_ID = 1; // id рассылки
	
	// подписка пользователя
	public static function subscribe($userID,$email){

		CModule::IncludeModule("subscribe");
		$subscr = new CSubscription;
		$subscription = CSubscription::GetByEmail($email); // поиск подписчика по mail
		if($arSub = $subscription->Fetch()){
			
		// если майл есть в подписчиках, то активируем подписку
		$res = $subscr->Update(
					$arSub['ID'],
					array(
						"ACTIVE"=>"Y",
						"USER_ID"=>$userID,
						"RUB_ID"=>array(self::SUBSC_ID))
					);
		 
		} else {

			// если нет подписки, то добавляем его
			$arFieldFilter = array(
							"RUB_ID" => array(self::SUBSC_ID),// id подписки
							"USER_ID" => $userID,
							"FORMAT" => "html",
							"EMAIL" => $email,
							"ACTIVE" => "Y",
							"SEND_CONFIRM" => 'N'
						);

			$ID = $subscr->Add($arFieldFilter);

			// поиск подписчика по mail, что бы получить код потверждения
			$subscription = CSubscription::GetByEmail($email);              
			if($arSub = $subscription->Fetch()){
				$arResult['DATA_SUB_USSER'] = $arSub;
			}

			// подтверждаем подписку
			$res = $subscr->Update(
							$ID,
							array(
								"CONFIRMED"=>"Y",
								"CONFIRM_CODE"=>$arResult['DATA_SUB_USSER']["CONFIRM_CODE"])
							);
			unset($arResult);
		}
	}

}
?>

Обращаемся к методу таким образом

subscr::subscribe($userID,$email);

$userID — ID зарегистрированного пользователя;
$email — Почтовый ящик пользователя;

Опубликован: 25.10.2014 г.

См. также:

«Не удалось установить соединение с сервером. Проверьте …».
Получение Email-адреса покупателя в заказе (Bitrix D7)
Работа с URL-адресами в Bitrix D7
Работа с купонами в Bitrix API
Добавляем пункт меню для списков в админке Битрикс
Диалоговые окна в Bitrix API
Создание инфоблока при установке модуля
Создание копии корзины из заказа на Bitrix D7

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

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

Комментарии
  • Загрузка...
Друзья сайта