Как Drupal Commerce хранит адреса анонимных пользователей
Я пытаюсь выяснить, как именно Drupal Commerce хранит адреса анонимных пользователей?
Допустим, анонимный пользователь создает корзину покупок и заполняет информацию о доставке, но еще не завершил оформление заказа (например, оплата, поэтому информация о доставке уже сохранена вместе с заказом). На данный момент система уже создала объект доставки, если да, то кому, поскольку идентификатор анонимного пользователя равен 0.
В противном случае, если доставка информация сохраняется только после завершения оформления заказа, но все же, кому она назначена? Кто является владельцем адреса.
Commerce также позволяет анонимному пользователю позже создать учетную запись, в которой есть вся история заказов и адреса доставки, был ли назначен новый неиспользуемый идентификатор пользователя для пользователя, на случай, если он решит зарегистрироваться, связать всю эту информацию, или адрес изначально привязан только к самому заказу, с идентификатором владельца 0, и профиль пользователя создается при регистрации на основании деталей заказа?
Почему я прошу обо всем этом, так это то, что я создаю процесс заказа, в котором адрес назначается для каждого продукта отдельно, и при оформлении заказа каждый продукт с другим адресом доставки перемещается в новый заказ с конкретным адресом доставки. И с учетом этого я все еще хочу сохранить возможность совершать анонимные покупки и пытаюсь выяснить динамику адресов доставки:)
Лучший с уважением,
Алари
2 answers
Когда данные о выставлении счетов или доставке вводятся во время оформления заказа, они создаются как профиль клиента. У каждого заказа есть поле адреса commerce_customer_billing
и, возможно, даже поле commerce_customer_shipping
(если включена доставка). В нем содержится ссылка на платежный профиль, который был введен во время оформления заказа (даже для анонимных пользователей).
То же самое относится и к зарегистрированным пользователям, разница лишь в том, что они связаны с пользователем.
Если вы включили правило Create a new account for an anonymous order
, оно также установит идентификатор профили выставления счетов и доставки также для нового пользователя.
Commerce всегда будет создавать нового пользователя по завершении процесса оформления анонимных заказов. Это происходит в правиле под названием "Создайте новую учетную запись для анонимного заказа":
Администратор/конфигурация/рабочий процесс/правила/реакция/управление/commerce_checkout_new_account
Если вы хотите клонировать заказ, то просто действуйте после выполнения вышеупомянутого правила, создав правило с более высоким весом.