208 похожих чатов

Привет, друзья. Я тут накрутила всякого и немного запуталась. Направьте

меня на путь, если возможно: есть страница оформления заказа. нет регистрации на сайте. Но заказчик хочет авторегистрацию с отправкой пароля на телефон. Поэтому все, что ниже у меня в OnSaleOrderBeforeSaved.
Что у меня уже есть: в init.php - если заказ новый, и если пользователь авторизован - понятно. Если не авторизован, я проверяю существование логина через CUser::GetList и если пользователя нет, то создаю его. А вот если есть пользователь я что-то затупила. Именно с логикой процесса, не с кодом. Форма авторизации не предусмотрена. Только поле для ввода кода(пароля) с телефона. Хорошо, я скрою это поле скриптом и буду отображать если value поля телефон == логин из CUser::GetList а дальше? как мне его авторизовать-то? У меня же не форма регистрации? Тупым образом скрыть форму через скрипт и подставлять значения скриптом? Совсем какой-то ахтунг получается. Что-то я адски накрутила и не могу теперь размотать...

10 ответов

4 просмотра

sale.order.ajax самостоятельно регистрирует пользователя, если нет авторизации, если установлены соответствующие параметры компонента, чтобы разрешать оформление заказа без авторизации.

alex-uld Автор вопроса
Арсен
sale.order.ajax самостоятельно регистрирует пользо...

у меня кастомный компонент вот этот: https://verstaem.com/bitrix/opensource-order/ Верстка очень сложная, дефолтный не смогла натянуть

alex uld
у меня кастомный компонент вот этот: https://verst...

именно про этот компонент не скажу. не понимаю в чем именно сложность. в событии после оформления заказа, вы проверяете - является ли пользователь, который привязан к заказу новым ? если да, то генерируете пароль, изменяете пароль этого пользователя - и отправляете по смс.

alex-uld Автор вопроса
Арсен
именно про этот компонент не скажу. не понимаю в...

а формы-то нет? куда вводить? как авторизовать? по условию, что в кастомное поле введен пароль? бред же?

"Поэтому все, что ниже у меня в OnSaleOrderBeforeSaved" - чой-та? нажал юзер "Оформить заказ" - вот в первую очередь все и проверяйте. "Если не авторизован, я проверяю существование логина через CUser::GetList и если пользователя нет, то создаю его. А вот если есть пользователь я что-то затупила. Именно с логикой процесса, не с кодом" я по вашему описанию вижу хорошую возможность подломать магазин или за ddos-ить (перебором номеров) вы не можете при таком ТЗ авторизовывать без кода подтверждения на телефон иначе я за Васю Петрова, номер которого знаю, столько заказов наделаю...

alex-uld Автор вопроса
Eugene Zhukov
"Поэтому все, что ниже у меня в OnSaleOrderBefore...

Таки да. Не могу. И я об этом же. То есть мало того, что я его должна авторизовать без перезагрузки страницы, плюс отправить код без перезагрузки, получитьего из поля без перезагрузки... Не. Не реально. Наверное надо так - после "оформить" как сказал voiciano отправлять на страницу с полем кода, а потом уже оформлять. Но все-равно придется переписать все.

alex uld
Таки да. Не могу. И я об этом же. То есть мало тог...

"То есть мало того, что я его должна авторизовать без перезагрузки страницы, плюс отправить код без перезагрузки, получитьего из поля без перезагрузки..." не вижу препятствий 1. ajax-запрос на сервак (авторизован или нет), на ответ вешается обработчик 2. в ответе либо "зарегали, вот данные", либо "код успешно подтвержден", либо "авторизуй" (при этом с сервака ушла смска клиенту), либо "не тот код подтверждения" - eсли зарегали или успешно подтвердили (на серваке он уже авторизовано должон быть)- ajax-запрос со следующим шагом либо вообще сабмит формы - если авторизуй - показываете всплываху "введи код подтверждения" и ждете - если "не тот код" - "чувак, что-то не то, давай через минуту-другую еще раз покажу кнопку Отправить код снова" 3. ввел код - ajax на сервак с кодом и идем на п.1 вот и все

alex-uld Автор вопроса
Eugene Zhukov
"То есть мало того, что я его должна авторизовать ...

ААААААА1 ajax! упс! Спасибо! я про него забыла напрочь)

alex uld
ААААААА1 ajax! упс! Спасибо! я про него забыла нап...

про check_bitrix_sessid и передачу токена не забудьте тогда уж

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

Обсуждают сегодня

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
А чем вам питонисты не угодили?😂
.
79
Хтось використовував Vapor на Windows?
Jaroshevskii
15
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
Какое виндузовое сообщение приходит TTabSheet, что риэлайняться контролы на нем, даже у которых парент другой? Ситуация: открываю форму - кнопок нет, перелистываю на другой т...
Катерина Свиридова
5
Карта сайта