Создание заказа анонимными пользователя в Commerce 2

Главные вкладки

Лучший ответ

Аватар пользователя VVS VVS 17 февраля 2022 в 20:09

Сам же и отвечу.
Установил https://github.com/drupalcommerce/demo-project, и там же есть всё:

И после оформления заказа:

Вопрос возник до углубленного изучения вопроса, так как в commerce 1 это было не так просто.

Буду изучать демку.

Комментарии

Аватар пользователя OldWarrior OldWarrior 17 февраля 2022 в 19:54

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

Аватар пользователя VVS VVS 17 февраля 2022 в 20:09

Сам же и отвечу.
Установил https://github.com/drupalcommerce/demo-project, и там же есть всё:

И после оформления заказа:

Вопрос возник до углубленного изучения вопроса, так как в commerce 1 это было не так просто.

Буду изучать демку.

Аватар пользователя Andruxa Andruxa 17 февраля 2022 в 21:04

Проблема не в том, чтобы оформить заказ на анонима (uid=0), проблема в том, чтобы потом каждый аноним мог просмотреть только свои заказы, т.е. все-таки должна быть какая-то идентификация пользователя.

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

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

Как альтернатива, можно искать существующих пользователей по указанному телефону (уж телефон-то надо указать, какая-то связь с покупателем должна все-таки быть), а если пользователя с таким номером телефона не найдено - создавать нового, есть модули, позволяющие регистрировать пользователя по телефону, а не email.

Аватар пользователя Andruxa Andruxa 17 февраля 2022 в 22:08

Ну а в чем тогда проблема? Не залогинился/зарегистрировался - не получил уведомления на почту, курьер либо перезвонит, либо нет.