0

我们希望在购物车总额为 90 美元及以上时免运费:如果在应用折扣后购物车总价值低于 90 美元,则免运费不适用,应适用 7.95 美元的统一运费。

我正在为 magento 实现自定义 API,这反映了一旦页面在 magento 用户帐户中刷新。但是 API(mycart.php) 显示的是旧结果(显示 'flatrate' 而不是 'free_shipping' 高于 $90 )

我正在应用购物车级别的运输。

我的示例代码:

$quote = $this->_getQuote($cart_id, $store);

        try {
            if($sub_total >= 90){               
                $shipping_code = "freeshipping_freeshipping";               
                //$quote->getShippingAddress()->setFreeShipping(1);
                //$quote->save();
            }
            else {
                $shipping_code = "flatrate_flatrate";               
            }   

            if ($quote->getShippingAddress()->getCountryId() == '') {               
                $quote->getShippingAddress()->setCountryId($this->_country);
            }                   

            $address = $quote->getShippingAddress();

            $address->setShippingMethod($shipping_code)->setCollectShippingRates(true);
            $address->save();
4

2 回答 2

0
Disable To set up flat rate shipping navigate to 
System -> Configuration and click on Shipping Methods 
in the left column. 

在此处输入图像描述

于 2013-10-22T04:14:25.387 回答
0

我已使用以下代码段解决了该问题:

$quote->collectTotals();    
$quote->save(); 
于 2013-10-22T04:51:32.780 回答