我在使用 Paypal Express 的 Onepage 结帐时遇到了一个奇怪的错误。
登录的客户“即时”输入新的账单地址,设置“保存在地址簿”和“运送到该地址”,然后进行结账。
此时地址已正确保存在数据库中。
客户选择 Paypal,Magento 会执行其逻辑(收集总计、保存报价 - 两次和数据检查等)。
我已经使用 Xdebug 逐步完成了逻辑,但在 afterSave() 回调的第 318 行的 /app/code/core/Mage/Sales/Model/Quote.php 中重定向到 Paypal 之前,我无法准确定位,有一条线
if (null !== $this->_addresses) {
$this->getAddressesCollection()->save();
}
在 $this->getAddressesCollection() 中,账单地址和送货地址是错误的,它们都是客户的默认值。但是,数据库仍然是正确的。
一旦 ->save() 触发,正确的将被覆盖。
它肯定似乎是 Magento 错误,但我需要找到解决方案。这是 EE 1.11.1.0。
以前有人经历过吗?
谢谢