如何获得具有magento运费的数组/对象,例如固定费率,免费送货等?
与所选地址或产品无关。
答案 0 :(得分:13)
这是另一种方式。您需要设置一个拉链和国家/地区 - 即使这与您的运输方式无关。
// 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());
}
}
答案 1 :(得分:4)
你不能这样做“无关紧要”,因为你需要地址数据(如果只是开票,那么运费设置与开票相同的运费或运费:国家,邮政编码,地区取决于您的运输方式),您不能这样做“无关”,并且需要设置和报价至少一个简单的项目(引用现有的,虚拟的和可下载的产品不需要运送)。之后,您可以调用引用对象
$quote->getShippingAddress()->getGroupedAllShippingRates();
答案 2 :(得分:2)
我明白了......
$carriers = Mage::getStoreConfig('carriers', Mage::app()->getStore()->getId());
foreach ($carriers as $carrierCode => $carrierConfig) {
print_R($carrierConfig);
}
感谢您的帮助