我们目前在Magento社区1.7上遇到一个问题,其中一些客户在结账时的总数翻了一番。
调查显示,对于这些客户报价,他们在sales_order_flat_quote_address表中有四个条目。该表看起来应该只包含两行,一行用于计费,另一行用于发货。
我们难以理解为什么要创建四行,并且通过严格的测试无法找到问题的原因。
以下测试用例已经完成,没有问题:
1)创建报价然后登录。登出。创建新报价然后登录。
2)确保客户没有先前的报价。登录。登出。添加产品。登录。
3)登录时创建报价。保持登录状态。访问单独的浏览器,添加产品,使用相同的客户帐户登录。
4)创建报价,登录。通过代理/新IP打开网站。添加产品。登录。
在上述所有情况下,问题都不会发生。
以前有没有人曾经听过或听说过这个问题?
提前致谢。
答案 0 :(得分:2)
我们在企业1.12上遇到过这个问题。跟踪非常困难,我们用提供补丁的magento提出了它。
您是否在自己的网站上使用OneStepCheckout?或任何其他第三方模块?
答案 1 :(得分:0)
我们遇到过同样的问题。
经过调查,我们确定这是已安装主题的问题。
为了确定这一点,我们执行了以下步骤:
我感觉主题开发人员使用了包含此错误的旧基本模板。当我发现更多信息时,会更新这篇文章的更多信息。
答案 2 :(得分:0)
我通过覆盖Mage_Sales_Model_Quote::_beforeSave
public function _beforeSave()
{
$addresses = $this->getAllAddresses();
if (count($addresses) > 2) {
for($i = 2; $i < count($addresses); $i++) {
$address = $addresses[$i];
$address->isDeleted(true);
}
}
parent::_beforeSave();
}
代码会删除任何导致购物车价格翻倍的重复地址。
感谢http://www.daveboyce.com/double-order-totals-in-magento/获得答案。