Кастомизация компонента восстановления пароля bitrix:system.auth.forgotpasswd

Просмотров: 30056

Достаточно часто спрашивают как кастомизировать компонент восстановления пароля пользователя. Типовая задача, это изменить адрес страницы для восстановления пароля и оформить шаблон по требованиям своего дизайна

Итак: стандартная ссылка на восстановление пароля в битрикс это /?forgot_password=yes, мы хотим вывести на более понятной и приятной странице, например: http://адрес_сайта/auth/getpass.php

Для начала создаем страницу, на которой хотим вывести восстановления пароля и вставляем на нее компонент:


<?$APPLICATION->IncludeComponent( "bitrix:system.auth.forgotpasswd",
".default",
     Array()
);?>

Перед подключением header.php нужно вставить define ("NEED_AUTH", true); что бы вызвать системные компоненты, без этого не будут показываться сообщения об ошибках. И дописать к ссылке на восстановление пароля, запрос ?forgot_password=yes

Все вместе должно получиться вот так:

Снимок экрана 2015-04-21 в 8.50.18.png

Что бы оформить компонент, нужно скопировать шаблон компонента из системных, в папку вашего шаблона. В этом архиве я прикладываю этот шаблон. Вам нужно распаковать его в папку /bitrix/templates/ВАШ_ШАБЛОН/components/bitrix/

После этого можете оформлять шаблон компонента восстановления пароля как вам угодно. А что сам компонент сработал, не забываем передать ему параметры /?forgot_password=yes
Ссылка целиком: http://ПУТЬ_ДО_СТРАНИЦЫ_С_КОМПОНЕНТОМ/getpass.php?forgot_password=yes

Олег Мурсалов 24.04.2015
Ты лучший!
Максим 09.06.2015
Спасибо, помогло, но код все же лучше кодом оформлять, а не скриншотом, нельзя сразу нужное скопировать.
Максим 09.06.2015
И .default можно опустить и написать просто "", хотя Вы, судя по всему, в учебных целях оставили :)
Guest 27.06.2015
компанент != компонент
>>>
Для начала создаем страницу, на которой хотим вывести восстановления пароля и вставляем на нее компОнент:

ETC.
Дмитрий 22.02.2016
А если подставить
Код
define ("NEED_AUTH", true)

, то запрашивается авторизация ?!?!? , а смысл ведь сразу показывать форму запроса нового пароля.
Дмитрий Герман 23.02.2018
Михаил подскажите пожалуйста ни как не могу понять как это работает размещаю компонент на странице text.php

Код
 <br>
<?$APPLICATION->IncludeComponent(
   "bitrix:system.auth.forgotpasswd",
   ".default",
   Array(
      "COMPONENT_TEMPLATE" => ".default"
   )
);?>
перед подключением хэдера  прописываю define ("NEED_AUTH", true);
ввожу емаил жму выслать ни чего не происходит  
Phantom of Liberty 30.10.2018
Добрый день!
Помогите пожалуйста разобраться с восстановлением пароля!
Страницы регистрации, авторизации, запроса на восстановление пароля сделал.
Не могу понять как быть со страницей смены пароля на которую переходим из письма
высланного на восстановление.
Вопрос куда ее поместить и как кастомизировать под свой дизайн
Михаил Базаров 10.05.2022
Цитата
Phantom of Liberty написал:
Добрый день!
Помогите пожалуйста разобраться с восстановлением пароля!
Страницы регистрации, авторизации, запроса на восстановление пароля сделал.
Не могу понять как быть со страницей смены пароля на которую переходим из письма
высланного на восстановление.
Вопрос куда ее поместить и как кастомизировать под свой дизайн

Хоть и запоздало но отвечу:
Можно, точно также скопировать шаблон компонента "system.auth.changepasswd" из системы и разместить на нужной странице.
Не забудте заменить ссылку в почтовом событии, которое отправляется при запросе пароля.