需求: 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'].'"'); ?>
1
修改为:
<?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'].'"');
}
}
?>
修改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') { ?>
以上的
(责任编辑:好模板) |