这是我的问题:

当我在购物车中添加电子 class (无运费)和常规产品(有运费)并在结帐时选择运费时,报价中会设置费用。如果我在设置此设置后离开结帐处,然后删除有运费的产品,则运费仍在报价中设置,即使取消报价中的所有项目,我也无法取消设置。

我试图弄清楚如何从商品中删除商品后如何设置送货方式并重新计算总数。

最佳答案

报价和送货地址模型中缓存了一些内容,因此如果您更改qoute物品或送货,则必须执行此操作以使Magento重新计算总计:

    $quote->setTotalsCollectedFlag(false);
    $quote->getShippingAddress()->unsetData('cached_items_all');
    $quote->getShippingAddress()->unsetData('cached_items_nominal');
    $quote->getShippingAddress()->unsetData('cached_items_nonnominal');
    $quote->collectTotals();

它为我工作。 Magento通常会在更改报价后将客户重定向到购物车或另一页,因此通常每页加载一次它必须计算总计。

09-30 17:29