2012-08-13 38 views

回答

4

因爲您需要地址數據(計費或運費,如果只計費,然後運費設置與結算方式相同,國家/地區,郵編區域依賴於您的運輸方式),您無法做到「無關」至少有一個簡單的項目(報價現有的,虛擬和可下載的產品不需要運送)。之後,你可以打電話給你的報價對象

$quote->getShippingAddress()->getGroupedAllShippingRates(); 
+1

代碼中有一個小故障。你的變量設置爲「()」 – aki 2013-11-07 15:49:39

2

我想通了就...

$carriers = Mage::getStoreConfig('carriers', Mage::app()->getStore()->getId()); 
foreach ($carriers as $carrierCode => $carrierConfig) { 
print_R($carrierConfig); 
} 

感謝您的幫助

12

這裏的另一種方式。您需要設置郵編和國家 - 即使這對您的送貨方式無關緊要。

// Change to your postcode/country. 
$zipcode = '2000'; 
$country = 'AU'; 

// Update the cart's quote. 
$cart = Mage::getSingleton('checkout/cart'); 
$address = $cart->getQuote()->getShippingAddress(); 
$address->setCountryId($country) 
     ->setPostcode($zipcode) 
     ->setCollectShippingrates(true); 
$cart->save(); 

// Find if our shipping has been included. 
$rates = $address->collectShippingRates() 
       ->getGroupedAllShippingRates(); 

foreach ($rates as $carrier) { 
    foreach ($carrier as $rate) { 
     print_r($rate->getData()); 
    } 
} 
+0

非常感謝!只需注意一行:「$ cart-> save();」沒有必要。 – 2014-04-22 15:15:21

+0

這是否發佈另一個請求,以運輸基於設置$ zipcode的運營商以獲得價格? – John 2014-07-11 16:27:49

+0

@Silas Palmer,我已經使用你的上面的代碼其工作正常在添加到購物車產品後添加...但我如何使用您的代碼之前添加到購物車添加。 Plz幫助我。 – VijayS91 2015-03-11 17:26:49