Меню
RSS
Серия 6: Создание персонального раздела
 
Серия 6: Создание персонального раздела

Чеклист:

Создание страниц регистрации, авторизации, восстановления пароля.
Настройка компонентов авторизации и восстановления пароля.
Создание страницы редактирования персональных данных.
Создание магазинных страниц: корзина, оформление заказа и история заказов.
Изменено: Михаил Базаров - 05.01.2024 11:04:24
 
define("NEED_AUTH", true); - в personal/auth/getpassword.php
getpassword.php?forgot_password=yes - путь к восстановлению
 
Уважаемый Михаил,

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

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

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

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

Я конечно только начал "знакомиться" с Битрикс, но пока все похоже на набор "костылей" и вся доработка сводится к умению мастерски забить еще один... Надеюсь, что это первое впечатление, и я не прав.
 
Да, в целом вы правы.
Этот момент рассмотрю в в 16 или 17 серии, когда будем дорабатывать персональный раздел.
Без модификации компонента main.register не обойтись, если критична проверка на беке.
Изменено: Михаил Базаров - 10.10.2023 14:33:48
 
Михаил, здравствуйте. Делал всё в соответствии с Вашим уроком, однако, на странице оформления заказа не отображается таких данных, как у Вас (например, информация о доставке и ее стоимость), кроме того, неактивна кнопка "Заказать сейчас".

С чем это может быть связано? В административной части интернет-магазина настроено почти все, кроме интеграции с 1С. Был произведен переход с лицензии "Стандарт" на "Малый бизнес", установлены все текущие обновления (кроме языковых пакетов) и все модули.

В шаблон компонента оформления заказов изменений не вносил.

У данных тестовых товаров есть закупочная и отпускная цены, вес, габариты и остаток на складе.

Изменено: Михаил Базаров - 20.03.2024 18:23:57
 
Затруднительно что-то подсказать. Из прстого, что в голову приходит:
Проверьте прявязку городов (LOCATION) к доставкам и оплатам, может там какие-то ограничения стоят или вообще местоположения не загружены - раз был переход со "Стандарт"
Изменено: Михаил Базаров - 20.03.2024 18:26:54
 
Коллеги, добрый вечер!Вопрос.
Прохожу курс Михаила.
Проблема с восстановлением пароля.
Скачал компоненты из видеоурока, вставил их в папку шаблона в компоненты, вношу изменения в system.auth.changepasswd/flat/template.php - изменения не вносятся.

В чем может быть беда? Спасибо!
Изменено: Михаил Базаров - 24.03.2024 11:23:30
 
Проверьте что прописано в настройках главного модуля, в строке
"Шаблон системных компонентов авторизации (system.auth.*):"
Изменено: Михаил Базаров - 24.03.2024 11:26:56
 
Добрый день, подскажите прошёл всё видео и на моменте когда вы делаете восстановление пароля, у меня почему на почту нечего не приходит, как буд-то я пропустим момент с настройкой почты и отправки, и всё что с этим связанно.
 
Да, про почту не было. Будет в 11 серии выйдет 9-го сентября
 
Добрый день, Михаил!
В этом видеоуроке была настроена страница авторизации по адресу /personal/auth/index.php с нужным шаблоном компонента "Авторизация". Однако если неавторизованный пользователь перейдет по адресу /personal/, где расположен компонент "Параметры пользователя", то будет выведена страница авторизации, но не та, которую настраивали в видеоуроке, а какая-то дефолтная. То же самое происходит при открытии других страниц, где отображается какая-то пользовательская информация (История заказов, например). Подскажите, пожалуйста, как заменить эту дефолтную страницу авторизации на свою?
 
Можно на таких страницах встаить проверку на авторизацию и отправлять (если не авторизован) на нужную форму
Код
if(!$USER->IsAuthorized()) { // если не авторизован
   LocalRedirect('/путь/к_форме/');
}
Изменено: Михаил Базаров - 12.02.2025 13:53:56
Читают тему
Форма ответов
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Bst

Блог-note: заметки разработчика

Memcached на сайте под управлением битрикс, при использовании Веб Окружения Битрикс

Если вам важна скорость отдачи сайта, а у вашего сервера медленный диск для использования кеша на файлах. Можно кеширова...

Запретить изменения описаний товаров при выгрузке из 1С УТ на сайт

При разработке сайтов на Битрикс, с интеграцией с 1С Управление Тороговлей, нужно запретить изменения полей при обмене. ...

Обновить страницу Inapbrowser в приложении Apache Cordova, при выходе из фона

Задача: Мобильное приложение, созданное на Apache Cordova должно перезагрузить текущую страницу, открытую с помощью плаг...

Время на БД и веб сервере отличается на 3600 секунд, тест Битрикс

Достаточно часто, при проверке параметров системы, в Битрикс, можно увидеть одну из ошибок: Время на БД и на сервере- Вр...

Time Capsule на Windows 10. Хранение бекапов Time Machine на компьютере с Windows 10

Заметку написал скорее для себя, что бы собрать все в одну кучу. Написана на базе нескольких разрозненных, по интернету,...

Показать только один тип цены в каталоге Битрикс

Достаточно часто, при создании сайта на битрикс, можно столкнуться с такой проблемой: на сайте имеется несколько групп о...

Уникальная СЕО информация для каждого торгового предложения в каталоге 1С-Битрикс

Задача: реализовать уникальную мета-информацию для каждого SKU в каталоге. У каждого ТП должны быть свои: заголовок h1, ...

Установить остатки товара на складе из доступных остатков.

Задача, заполнить остатки товаров, в 1С-Битрикс, из параметра "Доступное количество".

Оптимизация jpeg и png картинок на cron, с помощью jpegoptim и optipng

Задача: на сайт каждый день проходит выгрузка из 1С с обновлением картинок. Нужно оптимизмровать эти картинки с помощью...