在购物系统中,我们常碰见的就是购物满多少包邮,以及购买产品个数超过多少个,邮费打折的需求。在osc中也可以实现:
由于后台的运费有三种方式,按照重量计算运费、按照产品个数计算运费、固定的运费等。这里我是按照第二种办法也就是按照个数计算运费的办法。
我们在购物车页面可以获取到购买产品的个数,以及购物所达到的总金额。
在checkout_shipping.php 页面,
$currencies->format($sub_total-$discount); //购买产品的总金额
$cart->count_contents(); //购买产品的总个数
由于我们所获取的购买数量都是类似于$119.00 这样的字符串,需要截取后面的数字,再取整和119进行比较,如果小于119,就按正常情况计算运费,大于119 运费就为0.
计算运费代码:
$price = ($shipping_items[$key][1])*1+(($cart->count_contents())-1)*6;
其中$shipping_items[$key][1] 为后台填写的单个产品的运费单价,应客户需求,购物一个产品是按照后台固定单价来,超过一个产品的,超出部分每个$6,这样计算运费。其中涉及到的主要是字符串到数字的一个转换,再取整,在比较大小,最后根据判断来计算运费。