Единственное решение, которое я нашел, состояло в том, чтобы заставить цитату быть гостевой цитатой. Похоже, что это ничего не меняет в процессе оформления заказа, заказ назначается пользователю и отображается в списке заказов (на стороне клиента и на стороне администратора), как обычно и ожидается.
Итак, насколько я тестировал, prepareGuestQuote делает то же самое, что prepareCustomerQuote, с той лишь разницей, что он не назначает выбранный адрес текущему клиенту, поэтому, похоже, он решает мою проблему.
В /checkout/model/type/onepage.php в функции saveOrder () измените это:
switch ($this->getCheckoutMethod()) {
case self::METHOD_GUEST:
$this->_prepareGuestQuote();
break;
case self::METHOD_REGISTER:
$this->_prepareNewCustomerQuote();
$isNewCustomer = true;
break;
default:
$this->_prepareCustomerQuote();
break;
}
для этого:
$this->_prepareGuestQuote();
Я уверен, что это не «лучшее» решение, но это единственное, что я нашел, которое работает на данный момент.