广州传奇网络

地址:广州市天河区东圃大马路富华楼C座

电话:13808825895

邮箱:gz020wbs@163.com

QQ:1564443073

网址:http://www.020wbs.com/

首页 > 二次开发Ecshop二次开发 > ecshop如何统一设置购买商品的赠送积分和价格的比例

二次开发Ecshop二次开发

二次开发Ecshop二次开发

ecshop如何统一设置购买商品的赠送积分和价格的比例

在ecshop系统中,购买一个商品是可以赠送用户积分的,分两种情况,一是对每个商品设置赠送积分,一是不设置(默认-1),按商品价格一比一的赠送积分。问题是如果我们想统一按价格的百分比(比如5%)来赠送怎么办?

这个在ecshop系统里是没有这个功能的,要修改的话其实也很简单,那就是修改系统默认的一比一的比例,比如你想按5%来赠送,那么只需要把商品购买的最终价格乘以0.5即可,方法如下:

在includes/lib_order.php里有2个函数,get_give_integral和integral_to_give,他们是计算赠送积分的,都有这样的sql

SUM(og.goods_number * IF(g.give_integral > -1, g.give_integral, og.goods_price)) AS custom_points

这里可以看出,如果我们添加商品的时候不设置赠送积分,就按价格来送了。比如我想按价格的5%来送,就可以这样做

SUM(og.goods_number * IF(g.give_integral > -1, g.give_integral, og.goods_price*0.05)) AS custom_points

这样就可以了,当然如果你想让这个比例管理员可以自己设置,在数据库里加一个配置项就行了,把上面的0.05改成从数据库读取的配置项。

注意测试的时候,只有在订单结算的时候才会显示赠送的积分,而且是在订单支付成功并确认收货后才会把积分送给你的账户里。