最近在使用ecshop程序时,遇到了商城支付功能没有享受折扣的优惠项目。所以在找了很多资料后,还是觉得根据现有的条件更改一下。
思路:根据各个支付插件现有的支付手续费进行设置。
设置如下:
需要修改的文件:includes/lib_order.php 和 themes/…/library/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} -->
修改lib_order.php:
找到“/* 支付费用是一个比例 */”,修改为下面计算方法
{
/* 支付费用是一个比例 */
$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);
}
到此就可以在后台设置支付手续费用时,
输入-5%,即可选用该支付方式时打九五折。或者输入定额的如-5,即可选用该支付方式时直减5元。