Помощь Регистрация гостя и автоматическое преобразование в клиента

trace

Prestashop
Регистрация
4 Ноя 2013
Сообщения
325
Реакции
602
В общем, что имеем:
Есть поп-ап окно через которое вводится э-мейл и имя.

Задача:
При вводе э-мейл и имени, создать учетную запись гостя и автоматически преобразовать ее в клиентскую.

Главные вопросы:
Как, что, с чем использовать для создания учетной записи гостя?
Как, что, с чем использовать для автоматизации перехода из учетной записи гостя в клиента?


Буду благодарен за любую более-менее конкретную наводку на алгоритм действий/задач и прочее.

xF2V57O.png


Тема на Для просмотра ссылки Войди или Зарегистрируйся
 

Jarhead

Постоялец
Регистрация
17 Июн 2011
Сообщения
414
Реакции
159
В общем Вам сначала нужно сделать проверку на isGuest и isLogged, и сделать для них отдельные правила если возвращается true, а если в обоих случаях false то уже добавить нового клиента. Добавление нового клиента делается через класс Customer:

Код:
$customer = new Customer();
$customer->email = $email; // сюда передаем email из формы
$customer->firstname = $firstname; // сюда передаем имя из формы
$customer->logged = 1; // автоматически авторизуем клиента

// В общем это все дело нужно сохранить.

После используем функцию transformToCustomer($id_lang, $password = null); для превращения гостя в клиента.

В общем смотрите AuthController.php и делайте по аналогии.
 
Последнее редактирование:

trace

Prestashop
Регистрация
4 Ноя 2013
Сообщения
325
Реакции
602
Короче, что бы я не пробовал мне не хватает знаний, чтобы составить правильную логику :nezn:

А подобной темы нет ни в рунете, ни в буржунете. Покрайней мере, я не нашел, если есть, подскажите.
 
Последнее редактирование:

Алексей.Т

Создатель
Регистрация
11 Окт 2020
Сообщения
27
Реакции
10
Такой вопрос, после регистрации на сайте клиенту приходит письмо с данными для входа, где указаны его почта и пароль.
Но проблема в том что вместо пароля стоят "звёздочки"
embarrassed.gif

Как сделать так, чтобы вместо "звёздочек" был пароль, который клиент установил при регистрации?
 

_sashok

PrestaShop Expert
Регистрация
15 Июл 2011
Сообщения
2.302
Реакции
4.045
Такой вопрос, после регистрации на сайте клиенту приходит письмо с данными для входа, где указаны его почта и пароль.
Но проблема в том что вместо пароля стоят "звёздочки"
embarrassed.gif

Как сделать так, чтобы вместо "звёздочек" был пароль, который клиент установил при регистрации?

Открытый пароль был в прошлых версиях престы - там можете посмотреть реализацию вывода в шаблон - она похожа в 1.5-1.7

Сейчас по новым правилам персональных данных и безопасности - так не делают, ни разработчики ни хозяева сайта
 

Алексей.Т

Создатель
Регистрация
11 Окт 2020
Сообщения
27
Реакции
10
Но обычно, когда регистрируешься на сайте, приходит письмо пользователю с данными для входа, на случай если он забудет логин или пароль.
Тогда вообще непонятно, зачем отправлять письмо клиенту с его данными для входа на сайт в котором эти данные скрыты?

письмо1.jpeg 1 письмо2.jpeg 2

Подскажите, пожалуйста, как сделать так, чтобы было как во втором варианте?
 

Noxikus

Гуру форума
Регистрация
18 Фев 2015
Сообщения
304
Реакции
74
Не занимайтесь ерундной - то, что Вы делаете - это прошлый век, причем оба варианта.
Сейчас и тем более в дальнейшем регистрация и авторизация будут проходить через СМС - никаких паролей.
 

Алексей.Т

Создатель
Регистрация
11 Окт 2020
Сообщения
27
Реакции
10
Спасибо, нашёл решение!
В контроллере регистрации /controllers/front/AuthController.php в методе sendConfirmationMail
заменить на
'{passwd}' => Tools::getValue('passwd'),
 
Сверху