当前位置:首页 > CMS教程 > ecshop > 列表

Ecshop系统添加免运费赠品后购物车变为收取运费解决办法

发布:smiling 来源: PHP粉丝网  添加日期:2014-01-06 10:17:14 浏览: 评论:0 

使用商城的朋友可能会经常碰到关于利用ecshop来实现一些活动的需求,把电影票设置为免运费,但是事实情况却事与愿违,消费者购买订单超过100元并添加免运费的赠品后,订单反而又要收取邮费.

flow.php,代码如下:

  1. /* 添加赠品到购物车 */ 
  2. foreach ($favourable['gift'as $gift
  3.     if (in_array($gift['id'], $_POST['gift'])) 
  4.     { 
  5.         add_gift_to_cart($act_id$gift['id'], $gift['price']); 
  6.     } 

出问题的地方正是函数“add_gift_to_cart”,找到函数的定义,仍在在flow.php文件,我把该函数修改后的源码贴出来,大家对照一下就明白了:

  1. function add_gift_to_cart($act_id$id$price
  2.     $sql = "INSERT INTO " . $GLOBALS['ecs']->table('cart') . " (" . 
  3.                 "user_id, session_id, goods_id, goods_sn, goods_name, market_price, goods_price, "
  4.                 "goods_number, is_real, extension_code, parent_id, is_gift, rec_type, is_shipping ) "
  5.             "SELECT '$_SESSION[user_id]', '" . SESS_ID . "', goods_id, goods_sn, goods_name, 
  6. market_price, ". 
  7.                 "'$price', 1, is_real, extension_code, 0, '$act_id', '" . CART_GENERAL_GOODS . "' , 
  8. is_shipping " . 
  9.             "FROM " . $GLOBALS['ecs']->table('goods') . 
  10.             " WHERE goods_id = '$id'"
  11.     $GLOBALS['db']->query($sql); 

这样就很好的解决了Ecshop系统添加免运费赠品后,购物车变为收取运费的bug这个问题了.

Tags: Ecshop 运费赠品 收取运费

分享到: