我有两种交付方式,统一费率1和统一费率2.
如果订单总额低于$ 15.00,我想隐藏统一费率1.
如何在Magento中完成?
答案 0 :(得分:1)
您可以在模板中执行此操作。您可以在app / design / frontend / base / default / template / checkout / onepage / shipping_method / available.phtml中添加条件
希望这会有所帮助。
问候,大卫
答案 1 :(得分:1)
Hacky,但这就是我做到的。
在以下文件中......
...在foreach ($_shippingRateGroups as $code => $_rates):
$quote = Mage::getSingleton('checkout/session')->getQuote();
if($code == 'flatrate' && $quote->getSubtotal() >= 15) continue;
根据需要调整flatrate
和15
。
答案 2 :(得分:1)
创建一个模块并注册sales_quote_address_collect_totals_after事件的观察者:
public function hideFlatRate1($observer)
{
$quoteAddress = $observer->getQuoteAddress();
$quote = $quoteAddress->getQuote();
$total = $quote->getGrandTotal();
if ($total < 15){
$store = Mage::app()->getStore($quote->getStoreId());
$storeId = $store->getId();
$store->setConfig('carriers/flat_rate1/active', 0);
}
}
基本上,当在Mage_Sales_Model_Quote_Address的第1009行的collectTotals方法中调度sales_quote_address_collect_totals_after事件时,会通知此观察者。在一页结账时,当您提交送货地址时,会调用此方法以获取送货地址的运费。