Назад

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

Главная
Блог
Автоматическая подписка пользователей при регистрации в Битрикс

Хотите, чтобы новые пользователи автоматически подписывались на рассылку при регистрации? Следуйте этой инструкции – всего 3 простых шага!

1. Создайте пользовательское поле

Добавьте поле типа "Да/Нет" с кодом UF_SUBSCRIBE в настройках пользователей.

2. Добавьте чекбокс в форму регистрации

Вставьте этот HTML-код в вашу форму:

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

(Галочка checked сделает подписку включённой по умолчанию.)

3. Настройте обработчик события

Добавьте этот PHP-код в init.php вашего сайта:

AddEventHandler("main", "OnAfterUserAdd", "OnAfterUserAddHandler");

function OnAfterUserAddHandler(&$arFields) {
    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)) {
                $obSubscription->Update(
                    $arSubscription["ID"],
                    array(
                        "FORMAT" => "html",
                        "RUB_ID" => $arRubrics,
                    ),
                    false
                );
            } else {
                $obSubscription->Add(array(
                    "USER_ID" => $USER_ID,
                    "ACTIVE" => "Y",
                    "EMAIL" => $EMAIL,
                    "FORMAT" => "html",
                    "CONFIRMED" => "Y",
                    "SEND_CONFIRM" => "N",
                    "RUB_ID" => $arRubrics,
                ));
            }
        }
    }
}

Готово!

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

Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Читайте по теме
Все статьи
Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Все статьи