本文实例讲述了ecshop实现针对不同支付方式对应不同价格折扣的方法。分享给大家供大家参考,具体如下:
不少用户希望ecshop可以实现实现不同的支付方式对应不同的价格折扣,默认的模板没有这个功能.
第一步:找到:includes/lib_order.php, themes/../order_total.lib
第二步:修改order_total.lib代码,将if $total.pay_fee > 0修改为:
复制代码
代码如下:
<!-- {if $total.pay_fee neq 0} 支付费用 -->
+ {$lang.pay_fee}: <font>{$total.pay_fee_formated}</font>
<!-- {/if} -->
+ {$lang.pay_fee}: <font>{$total.pay_fee_formated}</font>
<!-- {/if} -->
修改lib_order.php,找到“/* 支付费用是一个比例 */”,修改计算方法:
复制代码
代码如下:
{
/* 支付费用是一个比例 */
$val = floatval($rate) / 100;
$pay_fee = $order_amount * $val;
}
/* 支付费用是一个比例 */
$val = floatval($rate) / 100;
$pay_fee = $order_amount * $val;
}
在订单页面,将负号显示在货币前面,修改lib_order.php,找到pay_fee_formated,修改如下:
复制代码
代码如下:
if($total['pay_fee']<0){
$total['pay_fee_formated'] = "-".price_format((-1 * $total['pay_fee']), false);
}else{
$total['pay_fee_formated'] = price_format($total['pay_fee'], false);
}
$total['pay_fee_formated'] = "-".price_format((-1 * $total['pay_fee']), false);
}else{
$total['pay_fee_formated'] = price_format($total['pay_fee'], false);
}
这样在后台设置支付费用时,输入-20%,在选用该支付方式时就可以打八折,这个方法很不错吧.
希望本文所述对大家基于Ecshop的程序设计有所帮助。
-
上一篇
查看discuz!论坛管理纪录 -
下一篇
Ecshop支付方式显示顺序修改方法