3
为什么Magento在结帐时重新保存现有的客户地址?
在结帐过程中,即使客户从下拉菜单中选择了现有地址,该customer_address实体也会被重新保存。任何想法是为了什么? 更新: 它从Mage_Checkout_Model_Type_Onepage::saveOrder执行以下代码的位置开始: $service = Mage::getModel('sales/service_quote', $this->getQuote()); $service->submitAll(); 这submitAll将Mage_Sales_Model_Service_Quote::submitOrder执行以下命令: $transaction->save(); 此方法循环遍历quote(?)的所有对象并保存它们。 更新: 最令人作呕的是他们正在为客户拥有的所有地址进行此操作。因此,如果您的访客在通讯录中保存了10个地址,那么所有这些地址都将在结帐时重新保存。不要怀疑为什么它是Magento中最消耗资源的部分。