Меню

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

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

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

Итак: стандартная ссылка на восстановление пароля в битрикс это /?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

Phantom of Liberty 30.10.2018
Добрый день!
Помогите пожалуйста разобраться с восстановлением пароля!
Страницы регистрации, авторизации, запроса на восстановление пароля сделал.
Не могу понять как быть со страницей смены пароля на которую переходим из письма
высланного на восстановление.
Вопрос куда ее поместить и как кастомизировать под свой дизайн
Михаил Базаров 10.05.2022
Хоть и запоздало но отвечу:
Можно, точно также скопировать шаблон компонента "system.auth.changepasswd" из системы и разместить на нужной странице.
Не забудте заменить ссылку в почтовом событии, которое отправляется при запросе пароля.
bitrix pain 15.02.2025
Решение чтобы не вываливал стандартную страницу авторизации при переходе на auth/index.php для не зарегистрированного пользователя
Вставляем в index.php


Код
<?php

 // Проверяем авторизацию только для смены пароля

if (isset($_GET["change_password"]) && $_GET["change_password"] == "yes") {
    define("NEED_AUTH", true);
}
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
if ($_GET["forgot_password"] == "yes") {
    $APPLICATION->SetTitle("Восстановление пароля");
    $APPLICATION->IncludeComponent(
   "bitrix:system.auth.forgotpasswd", 
   ".default", 
   array(
      "COMPONENT_TEMPLATE" => ".default"
   ),
   false
);
} elseif ($_GET["change_password"] == "yes") {
    $APPLICATION->SetTitle("Смена пароля");
    $APPLICATION->IncludeComponent(
        "bitrix:system.auth.changepasswd",
        "",
        array()
    );
} else {
    $APPLICATION->SetTitle("Авторизация");
    $APPLICATION->IncludeComponent(
        "bitrix:system.auth.form",
        "",
 // /auth/ меняем на свой путь или оставляем
        array(
            "REGISTER_URL" => "/auth/?forgot_password=yes",
            "FORGOT_PASSWORD_URL" => "/auth/?forgot_password=yes",
            "CHANGE_PASSWORD_URL" => "/auth/?change_password=yes",
             "SHOW_ERRORS" => "Y"
        )
    );
}

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
?>

Стоимость и сроки разработки сайтов и приложений

Окончательная стоимость и сроки разработки сайта формируются после обсуждения деталей на этапе заказа. Как правило, они редко выходят за обозначенные ниже рамки.

Разработка интернет-магазина с максимальной оптимизацией от 350 000 руб.
от 4-х недель

Cоздание интернет-магазина на 1С-Битрикс. Разработка с нуля, оптимизация кода и производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Запуск интернет-магазина на готовом решении от 60 000 руб.
от 7-ми дней

Готовое решение — вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту.

Мобильное приложение от 400 000 руб.
от 1-го месяца

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Опросник на разработку. После ознакомления, задам уточняющие вопросы и оценю проект по стоимости и срокам разработки.