Серия 6: Создание персонального раздела. Авторизация, регистрация и восстановление пароля

Создадим персональный раздел пользователя с компонентами необходимыми для регистрции и входа на сайт. Сразу настроим использование электронной почты в качестве логина, по заметке E-mail вместо логина при регистрации в 1С-Битрикс

Чеклист:

  • Создание страниц регистрации, авторизации, восстановления пароля.
  • Настройка компонентов авторизации и восстановления пароля.
  • Создание страницы редактирования персональных данных.
  • Создание магазинных страниц: корзина, оформление заказа и история заказов.

Дополнительные файлы

Полная версия серии на Boosty: Смотреть
Михаил Базаров июля 11, 2023 12:59 pm
define("NEED_AUTH", true); - в personal/auth/getpassword.php
getpassword.php?forgot_password=yes - путь к восстановлению
Анна Панишева июля 12, 2023 3:57 pm
Уважаемый Михаил,

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

Однако, у меня возник вопрос по поводу формы регистрации. Я хотела бы уточнить, мне нужно получать данные по API из введенного пользователем ИНН в форме, и как лучше реализовать это - через PHP или JS. Буду признательна за любую информацию по этому вопросу.

1. Пользователь вводит номер ИНН в поле input
2. Отправляется get запрос к сервису https://dadata.ru/api/find-party
3. Полученные наименование предлагаются на выбор (в случае наличия филиалов).
4. Пользователь выбирает свое наименование.
5. Так же указывает город город доставки, ФИО, телефон, почту и пароль
6. Полученные данные по юрлицу отправляются из скрытых полей формы.

API тестировала пока только через Postman. Планировала реализовать через js функцию fetch. Но закрались сомнения что возможно это не правильно.
Михаил Базаров июля 13, 2023 10:51 am
Лучше сделать это через js у dadata есть все примеры по автозаполнению (по вашей же ссылке которую дали).
Единственное, скрытые поля делайте не через type="hidden" а просто стилями прячте их
Дмитрий октября 10, 2023 9:34 am
Насколько я понял, получается, что весь "трюк" в отказе от отдельного поля с логином сводится в "костылю" на фронте, который "по тихому" на js заполняет одно поле значением другого? Но мы же вроде рассматриваем Инет-магазин (хоть и гипотетический), который доступен из Инет, а значит все, что происходит на фронте (по определению!) нужно считать недостоверным и в обязательном порядке "валидировать" на бэке. Мне кажется, все подобные "действия" нужно реализовывать исключительно на бэке...

Я конечно только начал "знакомиться" с Битрикс, но пока все похоже на набор "костылей" и вся доработка сводится к умению мастерски забить еще один... Надеюсь, что это первое впечатление, и я не прав.
Михаил Базаров октября 10, 2023 12:46 pm
Да, в целом вы правы.
Этот момент рассмотрю в в 16 или 17 серии, когда будем дорабатывать персональный раздел.
Без модификации компонента main.register не обойтись, если критична проверка на беке.