функция-обработчик( array &arFields );Событие "OnAfterUserRegister" вызывается после попытки регистрации нового пользователя методом CUser::Register.
Параметры
| Параметр | Описание |
|---|---|
| arFields | Массив полей регистрации нового пользователя:
|
Все параметры данного обработчика являются ссылками на исходные переменные. Поэтому если вы измените значение параметра внутри обработчика, это приведет к смене значения исходной переменной поступившей на вход функции-обработчика.
Это позволяет, например, изменить RESULT_MESSAGE, что приведет к смене сообщения возвращаемого функцией CUser::Register.
См.также:
Пример функции-обработчика:
<?
// файл /bitrix/modules/my_module_id/include.php
class MyClass
{
// создаем обработчик события "OnAfterUserRegister"
function OnAfterUserRegisterHandler(&$arFields)
{
// если регистрация успешна то
if($arFields["USER_ID"]>0)
{
// если текущий сайт - r1, то
if(SITE_ID=="r1")
{
// зададим сообщение об успешной регистрации на сайте r1
$arFields["RESULT_MESSAGE"]["MESSAGE"] = "Вы успешно зарегистрировались на сайте \"Мой любимый сайт 1\"";
}
elseif(SITE_ID=="r2")
{
// зададим сообщение об успешной регистрации на сайте r2
$arFields["RESULT_MESSAGE"]["MESSAGE"] = "Вы успешно зарегистрировались на сайте \"Мой любимый сайт 2\"";
}
}
return $arFields;
}
}
?>
Пример регистрации функции-обработчика:
<?
// регистрируем обработчик события "OnAfterUserRegister"
RegisterModuleDependences("main", "OnAfterUserRegister", "my_module_id", "MyClass", "OnAfterUserRegisterHandler");
?>
Пользовательские комментарии
Пользовательские комментарии не являются официальной документацией. Ответственность за их использование несет сам пользователь.Добавлять комментарии могут только зарегистрированные пользователи. Сообщения для просмотра появляются после модерации.
|
| ||
На самом деле только RESULT_MESSAGE и можно изменять. Изменения в других полях не сохранятся. Если необходимо модифицировать поля регистрации пользователя перед сохранением, необходимо использовать событие . | ||
|
| ||||
|
Задача: сделать регистрацию, в которой будет только емайл (он же логин).
Решение: В шаблоне стандартного компонента system.auth.registration кастомизируем поля для логина:
В /bitrix/php_interface/init.php вставляем следующий код:
| ||||

