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