Добрый день! У меня не срабатывает обработчик OnAfterUserRegister Вставляю в init.php такой код:
Код
AddEventHandler("main", "OnAfterUserRegister", Array("ClassAfterRegister", "OnAfterUserRegisterHandler"));class ClassAfterRegister
{
function OnAfterUserRegisterHandler(&$arFields)
{
if(SITE_ID=="s1")
{
// добавляем его в группу с id=7
$arFields["GROUP_ID"][] = 7;
}
elseif(SITE_ID=="s2")
{
// добавляем его в группу с id=8
$arFields["GROUP_ID"][] = 8;
}
}
}
Функция не работает. Любая другая функция также не работает. Сам init.php работает, т.е. если поставить команду без обработчика, она срабатывает. Не работает только обработчик. Скажите, пожалуйста, в чем ошибка?
AddEventHandler("main", "OnAfterUserRegister", Array("ClassAfterRegister", "OnAfterUserRegisterHandler"));
class ClassAfterRegister
{
public static function OnAfterUserRegisterHandler(&$arFields)
{
if(SITE_ID=="s1")
{
// добавляем его в группу с id=7
$arFields["GROUP_ID"][] = 7;
}
elseif(SITE_ID=="s2")
{
// добавляем его в группу с id=8
$arFields["GROUP_ID"][] = 8;
}
}
}
Используйте OnBeforeUserRegister при самостоятельной регистрации пользователя или OnBeforeUserAdd при регистрации при оформлении заказа. Лучше использовать второй, поскольку он охватывает оба варианта регистрации.
OnAfterUserRegister "Примечание. Все параметры данного обработчика являются ссылками на исходные переменные. Поэтому изменить эти параметры невозможно: изменения не сохраняются."