Magento 1.9.1.1 Checkout小计显示价格翻倍

时间:2016-07-25 13:14:46

标签: magento

我的结帐小计和格式总计显示购物车中的商品价格翻倍。

我设置了#34;允许运送到多个地址" as" No"和#34;允许运送到多个地址的最大数量" as" 0"

我还更新了cart.php文件中的代码。

但我仍然得到小计错误。

编辑:

我已更新以下代码 app / code / core / Mage / Checkout / Model / cart.php文件。

$addresses = $this->getQuote()->getAllAddresses(); 
if (count($addresses) > 2) {
for($i = 2; $i < count($addresses); $i++) {
$address = $addresses[$i]; $address->isDeleted(true);
}
 }

但我仍然得到小计不正确的

由于

1 个答案:

答案 0 :(得分:3)

似乎只有多个送货地址才会导致此问题。您可以拥有多个帐单邮寄地址,只有一个送货地点,总计不会翻倍。因此,客户可能在sales_flat_quote_address表中有两个发货记录而没有帐单地址(可能非常罕见)。或者前两个位置的两个送货地址(较低的address_id)和最后一个的开票。在任何一种情况下,您列出的代码都无法解决加倍问题。在第一种情况下,因为只有两个记录,所以第二个送货地址不会被删除。在第二种情况下,由于第3条记录是帐单邮寄地址,因此会将其删除,但仍会保留两个送货地址。为了使这个修复工作适用于这些罕见的情况,并且因为它似乎是更合适的修复,我将代码更改为如下所示:

$addresses = $this->getQuote()->getAllShippingAddresses();

    if (count($addresses) > 1) {
        for($i = 1; $i < count($addresses); $i++) {
            $address = $addresses[$i];
            $address->isDeleted(true);
        }
    }

此代码仅提取相关报价实体的送货地址。然后它将删除第一个之后的任何其他记录。