取消运输并重新计算magento中的总数

vei*_*lig 2 php shipping magento

这是我的问题:

当我在购物车中添加电子课程(无运费)和普通产品(已发货)并在结账时选择运费时,成本将在报价中设置.如果我在设置后退出结账,然后删除已发货的产品,运费仍然在报价中设置,我无法取消设置...即使删除报价中的所有项目.

我正试图弄清楚如何取消运输方法并在从购物车中取出产品后重新计算总数.

vrg*_*gfa 15

在报价和送货地址模型中缓存了一些内容,因此如果您更改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();
Run Code Online (Sandbox Code Playgroud)

它对我有用.Magento通常会在更改报价后将客户重定向到购物车或其他页面,因此通常每页加载时必须计算一次总计.