閱讀609 返回首頁    go 阿裏雲 go 技術社區[雲棲]


magento 開發-- 單頁結賬時根據選擇的配送方式來控製支付方式的顯示

之前碰到一個客戶的需求,他同時提供支付寶和貨到付款兩種支付方式,但由於貨到付款由順豐提供,運費比普通快遞要高出不少,所以客戶希望如果買家在配送方式那裏選擇的是普通快遞(比如圓通,隻要5塊),那在支付方式中就不提供貨到付款這個選擇項,隻能選擇支付寶。

      這裏需要在支付的文件中獲得上一步選擇的配送方式,打開文件/template/checkout/onepage/payment/methods.phtml,

 

<?php $shipmethod= Mage::getSingleton('checkout/session')->getQuote()->getShippingAddress()->getShippingMethod();?> 

 

這個$shipmethod就是結賬時買家選擇的配送方式,支付方式是由一個循環輸出的,在循環裏做判斷,跳過不想顯示的支付方式(比如貨到付款)

<?php foreach ($this->getMethods() as $_method): $_code = $_method->getCode() ?> <?php if($shipmethod=='yuantong' && $_code=='checkmo'){ continue; } ?> <dt> …………………………………………………………………… 

同理,你可以根據你自己的需要來做判斷,控製支付方式的顯示。

最後更新:2017-04-02 06:51:17

  上一篇:go 使用ruby與MS Access數據庫交互
  下一篇:go magento 1.4 -- 後台權限裏角色資源無法翻譯的bug及解決方案