Добрый день.
Возникла необходимость создания возможности подписаться на новости при регистрации. Попробовала сделать так - добавить пользовательское поле UF_SUBSCRIBE типа Checkbox, оно соответственно выводится при регистрации (регистрация сделана через компонент "Настраиваемая регистрация").
Далее добавила в файл init.php такой код, предполагалось, что после регистрации в функции проверится, установлена ли галочка, если да, то добавить нового подписчика:
Подскажите, пожалуйста, в чем ошибка, потому как после регистрации грузится пустая страница, причем ничего дальше заголовка не загружается, и соответственно подписчик не добавляется. и проблема гдето в вызове $subscr->Add($arSubFields);
Возникла необходимость создания возможности подписаться на новости при регистрации. Попробовала сделать так - добавить пользовательское поле UF_SUBSCRIBE типа Checkbox, оно соответственно выводится при регистрации (регистрация сделана через компонент "Настраиваемая регистрация").
Далее добавила в файл init.php такой код, предполагалось, что после регистрации в функции проверится, установлена ли галочка, если да, то добавить нового подписчика:
| Код |
|---|
// добавляем обработчик события при регистрации
AddEventHandler("main", "OnAfterUserRegister", "OnAfterUserRegisterHandler");
// а заодно и при обновлении данных пользователем
AddEventHandler("main", "OnAfterUserUpdate", "OnAfterUserRegisterHandler");
// описываем саму функцию
function OnAfterUserRegisterHandler(&$arFields)
{
if($arFields["USER_ID"]>0)
{
if ($arFields['UF_SUBSCRIBE'])
{
$arSubFields = Array(
"USER_ID" => $arFields["USER_ID"],
"FORMAT" => "text",
"EMAIL" => $arFields["EMAIL"],
"ACTIVE" => "Y"
);
$subscr = new CSubscription;
ID = $subscr->Add($arSubFields);
if($ID>0)
CSubscription::Authorize($ID);
else
$strWarning .= "Error adding subscription: ".$subscr->LAST_ERROR."<br>";
}
return true;
}
} |
Подскажите, пожалуйста, в чем ошибка, потому как после регистрации грузится пустая страница, причем ничего дальше заголовка не загружается, и соответственно подписчик не добавляется. и проблема гдето в вызове $subscr->Add($arSubFields);

Я сделала так: (чтобы после регистрации пользователь подписывался на все рассылки сайта)