+7 495 008 8452 пн.-пт. 10:00 – 17:00
Загрузка...
Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Меняем страницы регистрации, запроса и смены пароля

register=yes, forgot_password=yes, change_password=yes - все это давно стало визитной карточкой Битрикс. В этом посте я опишу как можно легко и просто от этого избавиться.

Поставим задачу  - сделать такие страницы:
/create/ - регистрация (причем обычная, не обязательно расширенную)
/reset/ - запрос на смену пароля
/change/ - смена пароля
/auth/ - авторизация (так и есть)

Можно пойти хардкорным путем и создавать эти папки, туда кидать компоненты... Но чего-то мне это не понравилось. Решил поизвращаться с urlrewrite.php. Итак, открываем его и дописываем три простых правила:
   array(
      "CONDITION" => "#^/create/#",
      "RULE" => "register=yes",
      "ID" => "",
      "PATH" => "/auth/index.php",
   ),
   array(
      "CONDITION" => "#^/reset/#",
      "RULE" => "forgot_password=yes",
      "ID" => "",
      "PATH" => "/auth/index.php",
   ),
   array(
      "CONDITION" => "#^/change/#",
      "RULE" => "change_password=yes&USER_LOGIN=$1&USER_CHECKWORD=$2",
      "ID" => "",
      "PATH" => "/auth/index.php",
   ),
В пояснениях, думаю, не нуждаются - мы просто подсовываем статичным URL-ам невидимые переменные, и дело в шляпе. Небольшие трудности возникнут в последнем правиле, я не стал извращаться и оставил как видите - тогда УРЛ на смену пароля должен быть таким: /change/?USER_LOGIN=<ЛОГИН>&USER_CHECKWORD=<СТРОКА> (это вам надо будет прописать в почтовом шаблоне)

Вот и все, все работает.

Осталось:

1. Сменить ссылки в почтовых шаблонах (запрос на смену, и регистрация)

2. Поменять ссылки в шаблонах на сайте. Да, это минус, придется все равно копировать компоненты. Но! Если вас устраивают стандартные, можно пойти хитрым путем - поставить обработчик (какой-нибудь OnEndBuffer), и если (и только если) страница авторизации или смены пароля, или регистрации, preg_replace-ом менять на странице URL на нужные. На каждый хит такой обработчик вешать строго не рекомендую.


Вкупе со статьей "делаем красивую ЧПУ" ваш Битрикс будет не узнать :)

Назад в раздел

Подписаться на новые материалы раздела:
Загрузка...