Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

авторизация

00 голосов
7
Добрый день! Помогите пожалуйста советами :)

Пытаюсь прикрепить свой дизайн для формы авторизации. Скопировал шаблон компонента system.auth.form в каталог шаблона и правлю там файл template.php
Как я понимаю, через $arResult я могу узнать какие-либо данные о текущем пользователе, также эти данные можно получить через глобальную переменную $USER.
Допустим так.
Код
<? if (!($USER->IsAuthorized())) echo "<pre>Вход не выполнен!</pre>";
?>

Так вот, как лучше и главное правильнее действовать?
Где можно посмотреть то, что может быть в массиве $arResult? Только в файле компонента component.php?

И еще хотелось бы кое-что узнать.
Подключаю этот компонент следующим кодом:
Код
     <?$APPLICATION->IncludeComponent(
   "bitrix:system.auth.form",
   "",
   Array(
      "REGISTER_URL" => "",
      "PROFILE_URL" => "",
      "SHOW_ERRORS" => "N"
   )
     );?>


Что означают и что необходимо указать в параметрах REGISTER_URL и PROFILE_URL ?
Не совсем до конца понимаю...

Заранее благодарю за любую помощь!
спросил 10 Авг, 13 от oPs (380 баллов)

7 Ответы

00 голосов
<pre><?print_r($arResult)?></pre>

REGISTER_URL путь к странице с регистрацией
PROFILE_URL путь к профилю пользователя
ответил 10 Авг, 13 от tishka (200 баллов)
00 голосов
при обращении к адресу auth.php выводится стандартная форма

допустим, для параметра register=yes форма регистрации. Есть формы "забыл пароль".
не могу понять, где и как можно переопределить эти формы нужным для себя образом.

предполагаю, что это можно сделать в файле template.php компонента system.auth.form
только не могу понять каким образом.

подскажите еще пожалуйста, что означает ключ [BACK_URL] в массиве $arResult? Смотрел код, там стоит редирект на этот адрес. Для чего это может быть нужно?

заранее спасибо за помощь!
ответил 13 Окт, 13 от oPs (380 баллов)
00 голосов
пока код у меня такой:
Код
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>

<?if ($arResult["FORM_TYPE"] == "login")
  {
?>
   тут выводится форма с кнопками "вход" и "регистрация"
<? }
else {
?>
  тут вывыдится форма с данными о текущем пользователе и кнопка "выход"
<?
}
?>


какие проверки надо добавить, чтобы вывести нужным образом форму авторизации и регистрации.
ответил 14 Янв, 14 от oPs (380 баллов)
00 голосов
неужели никто ничем не может помочь?
ответил 02 Май, 14 от oPs (380 баллов)
00 голосов
Цитата
theo_ пишет:
неужели никто ничем не может помочь?

Что вы выдумываете, так и не понял.
Чтобы изменить шаблон авторизации и регистрации: можете скопировать (руками) шаблоны компонент system.auth.form и system.auth.registration в шаблон вашего сайта и привести их в нужный вам вид.
Цитата
theo_ пишет:
подскажите еще пожалуйста, что означает ключ [BACK_URL] в массиве $arResult? Смотрел код, там стоит редирект на этот адрес. Для чего это может быть нужно?

Чтобы после авторизации или регистрации вы вернулись на ту страницу сайта, на которой находились до этого.
ответил 27 Авг, 14 от Almarea (3,760 баллов)
00 голосов
Цитата
theo_ пишет:
Есть формы "забыл пароль". не могу понять, где и как можно переопределить эти формы нужным для себя образом.

да, кстати, у меня тоже такая проблема - в разделе сайта "Авторизация" есть файл registration.php с формой регистрации (компонент bitrix:main.register).
В шаблоне сайта присутсвует компонент "форма авторизации" (bitrix:system.auth.form), который, если пользователь не авторизован, выводит форму с ссылкой на регистрацию ("/auth/registration.php?register=yes", а также "Забыли пароль", которая ссылается на "/auth/registration.php?forgot_password=yes", но почему-то при нажатии никакой формы восстановления пароля не выводится, а выводится только обычная форма регистрации. Как сделать так, чтобы выводилось?
ответил 02 Янв, 15 от Waerror (100 баллов)
00 голосов
не знаю насколько это правильно, но я сделал следующим образом.

отдельной страницы для авторизации у меня нету. на любой странице сайта в хедере есть ссылка "вход", при нажатии на которую к текущей странице добавляется параметр login=yes и в хедере появляется нужная мне форма

в шаблоне template.php компонента сделал проверку на наличие этого параметра:
Код
if ((isset($_REQUEST[login]))&&($_REQUEST[login]=="yes"))

все вроде как работает :)

аналогично и для формы регистрации сделал :)

а уж как по-битриксовски все это сделать так и не понял :o
ответил 21 Апр, 15 от oPs (380 баллов)

Похожие вопросы

0 голосов
0 ответов
0 голосов
2 ответов
спросил 05 Май, 14 от RusS (100 баллов)
0 голосов
3 ответов
спросил 20 Март, 14 от Bakcher (100 баллов)