zencart 选择支付方式

17 篇文章 0 订阅
11 篇文章 0 订阅

需求: zencart根据在pc端 \ 移动应用端 \ 移动网页端 , 显示不同的支付方式:

在includes/templates/template_default/templates/下修改
tpl_checkout_payment_default.php文件, 先根据 userAgent判断是否是移动应用访问 , 在根据条件判断是否显示支付选项:
1.修改支付选项前面的radiobuttion是否显示,将

<?php echo zen_draw_radio_field('payment', $selection[$i]['id'], ($selection[$i]['id'] == $_SESSION['payment'] ? true : false), 'id="pmt-'.$selection[$i]['id'].'"'); ?>

修改为:

<?php 
if(strpos($_SERVER['HTTP_USER_AGENT'],'FLAG_APP') !== false){//如果不为false,说明是移动应用访问
    if ($selection[$i]['id'] == 'alipaydirect') {//如果是alipayapp
    //什么 都不做
    }else if ($selection[$i]['id'] == 'alipayapp'){//如果是alipaydirect,设置为默认
        echo zen_draw_radio_field('payment', $selection[$i]['id'], ($selection[$i]['id'] == $_SESSION['payment'] ? true : false), 'id="pmt-'.$selection[$i]['id'].'" checked="checked"');
     }else{
        echo zen_draw_radio_field('payment', $selection[$i]['id'], ($selection[$i]['id'] == $_SESSION['payment'] ? true : false), 'id="pmt-'.$selection[$i]['id'].'"'); 
    }
}else{
    if ($selection[$i]['id'] == 'alipayapp') {//如果是alipayapp
        //什么 都不做
    }else if ($selection[$i]['id'] == 'alipaydirect'){//如果是alipaydirect,设置为默认
        echo zen_draw_radio_field('payment', $selection[$i]['id'], ($selection[$i]['id'] == $_SESSION['payment'] ? true : false), 'id="pmt-'.$selection[$i]['id'].'" checked="checked"');
    }else{
        echo zen_draw_radio_field('payment', $selection[$i]['id'], ($selection[$i]['id'] == $_SESSION['payment'] ? true : false), 'id="pmt-'.$selection[$i]['id'].'"');
    }
}
?>
  1. 修改radiobuttion后面的支付方式logo和文字是否显示:
    将:
<label for="pmt-<?php echo $selection[$i]['id']; ?>" class="radioButtonLabel"><?php echo $selection[$i]['module']; ?>

改为

<!-- 下面判断lable的是判断是否显示alipaydirect的图标和名称  -->
<?php if(strpos($_SERVER['HTTP_USER_AGENT'],'FLAG_APP') !== false){//如果不为false,说明是移动应用访问 ?>
<label for="pmt-<?php if ($selection[$i]['id'] !== 'alipaydirect'){  echo $selection[$i]['id']; }?>" class="radioButtonLabel"><?php  if ($selection[$i]['id'] !== 'alipaydirect'){ echo $selection[$i]['module'];} ?></label>
<?php }else{?>
<label for="pmt-<?php if ($selection[$i]['id'] !== 'alipayapp'){  echo $selection[$i]['id']; }?>" class="radioButtonLabel"><?php  if ($selection[$i]['id'] !== 'alipayapp'){ echo $selection[$i]['module'];} ?></label>
<?php }?>

注:
1 . 以上的 selection[ i][‘id’] == ‘alipaydirect’ , 里面的alipaydirect是关键 , 即支付方式
取includes\modules\payment\ 文件夹下相应通道接口文件名即可。
如 paypal.php,alipayapp.php 的为 paypal,alipayapp

<?php if ($selection[$i]['id'] == 'paypal') { ?>
<?php if ($selection[$i]['id'] == 'alipayapp') { ?>
  1. 以上的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值