Разработка на 1С-Битрикс Михаил Базаров
Форум

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

Вопросы и ответы по 1С-Битрикс, разборы реальных задач и обсуждение заметок блога. Задайте вопрос или помогите другим — все сообщения проходят модерацию.

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

Достаточно часто спрашивают как кастомизировать компонент восстановления пароля пользователя. Типовая задача, это изменить адрес страницы для восстановления пароля и оформить шаблон по требованиям своего дизайна
Добрый день!
Помогите пожалуйста разобраться с восстановлением пароля!
Страницы регистрации, авторизации, запроса на восстановление пароля сделал.
Не могу понять как быть со страницей смены пароля на которую переходим из письма
высланного на восстановление.
Вопрос куда ее поместить и как кастомизировать под свой дизайн
Хоть и запоздало но отвечу:
Можно, точно также скопировать шаблон компонента "system.auth.changepasswd" из системы и разместить на нужной странице.
Не забудте заменить ссылку в почтовом событии, которое отправляется при запросе пароля.
Решение чтобы не вываливал стандартную страницу авторизации при переходе на 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");
?>
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Загрузить файлы
 
Блог-note

Заметки по 1С-Битрикс