Добрый день!
Необходимо создать собственный алгоритм регистрации новых пользователей. Для этого скопировал папку "components/bitrix/main.register" в "components/myproject/main.register".
Попытка решения №1:
Для регистрации создал новый раздел. В index.php раздела добавил компонент myproject:main.register.
Вроде бы всё хорошо, но есть одна большая проблема. На сайте есть страницы, к которым закрыт доступ неавторизованным пользователям. При входе на эту страницу, срабатывает метод AuthForm, выводящий форму авторизации. Реализация его такова, что, передав GET параметр "register=yes", я попаду на стандартную форму регистрации, которая будет работать по стандартному алгоритму. Сделать так, чтобы AuthForm брал компоненты из другого пространства имён нельзя, т.к. в реализации зашито пространство имён "bitrix":
Попытка решения №2:
В настройках главного модуля отключил "Позволять ли пользователям регистрироваться самостоятельно?". От этого AuthForm перестаёт выводить форму регистрации при передаче "register=yes". В своём компоненте убрал проверку на наличие разрешения пользователям регистрироваться самостоятельно.
Этот вариант работает как надо, но меня сильно смущает что необходимо отключать разрешения пользователям регистрироваться.
Есть ли другие, более правильные варианты замены алгоритма регистрации пользователей в Битрикс, чем описанный мной в решении 2?
Необходимо создать собственный алгоритм регистрации новых пользователей. Для этого скопировал папку "components/bitrix/main.register" в "components/myproject/main.register".
Попытка решения №1:
Для регистрации создал новый раздел. В index.php раздела добавил компонент myproject:main.register.
Вроде бы всё хорошо, но есть одна большая проблема. На сайте есть страницы, к которым закрыт доступ неавторизованным пользователям. При входе на эту страницу, срабатывает метод AuthForm, выводящий форму авторизации. Реализация его такова, что, передав GET параметр "register=yes", я попаду на стандартную форму регистрации, которая будет работать по стандартному алгоритму. Сделать так, чтобы AuthForm брал компоненты из другого пространства имён нельзя, т.к. в реализации зашито пространство имён "bitrix":
| Код |
|---|
$this->IncludeComponent("bitrix:".$comp_name, "", array( |
Попытка решения №2:
В настройках главного модуля отключил "Позволять ли пользователям регистрироваться самостоятельно?". От этого AuthForm перестаёт выводить форму регистрации при передаче "register=yes". В своём компоненте убрал проверку на наличие разрешения пользователям регистрироваться самостоятельно.
Этот вариант работает как надо, но меня сильно смущает что необходимо отключать разрешения пользователям регистрироваться.
Есть ли другие, более правильные варианты замены алгоритма регистрации пользователей в Битрикс, чем описанный мной в решении 2?