您的位置 首页

magento根据运送城市设置支付方式

例如,有的时候我们的商城并不是支持所有地区都可以货到付款的。 那么这个时候就会根据不同城市 选择性的显示货到付…

例如,有的时候我们的商城并不是支持所有地区都可以货到付款的。

那么这个时候就会根据不同城市 选择性的显示货到付款支付方式。

但首先我们要在后台做一些可控的配置

例如:

当然还要有那些城市是可以货到付款的。这里就不显示出来了。(因为我自己是在另一个 选项卡了配置这个信息的。)

(后台开发可以去网上搜索教程。)

之后在文件

app\design\frontend\base\default\template\checkout\onepage\payment\methods.phtml中

代码

 $methods = $this->getMethods();
    $oneMethod = count($methods) <= 1;

下添加代码:

$showCashOnDeliever = Mage::getStoreConfig('payment/cashondelivery/accordingCityActive'); // 根据自己编写情况找到实际位置
    if($showCashOnDeliever){
        $checkout = Mage::getSingleton('checkout/session')->getQuote();
        $shipping = $checkout->getShippingAddress(); // 获取当前运送的城市
        $CityStr = Mage::getStoreConfig('payment/cashondelivery/city');
        $CityArr = explode(' ',$CityStr); // 获取货到付款的城市
    }

然后找到代码

 foreach ($methods as $_method):
        $_code = $_method->getCode();

下面添加 代码:

if($showCashOnDeliever){
            if($_code == "cashondelivery"){
                $destCity = $shipping->getCity();
                if(!in_array($destCity,$CityArr )){
                    continue;
                }
            }
        }

这时候你就可以结账试试了。 ^_^

————————————————–唠叨两句—————————————-

这只是通过判断的方式使得前台不显示货到付款的支付方式了。同样的你可以去掉任何你需要的支付方式。

当然,有人说我截取post数据修改支付方式为货到付款,那么订单支付方式当然还会是货到付款了。你若真要

细致考虑,那你就在确认订单的时候再去判断合法性。

此文章通过 python 爬虫创建,原文是自己的csdn 地址: magento根据运送城市设置支付方式

本文来自网络,不代表找知博客立场,转载请注明出处:http://zhaozhiyong.cn/110.html

作者: 于老大

关注微博
返回顶部
//