解决ECSHOP免运费赠品加入购物车后依旧收取运费的问题

ECSHOP插件网发现使用ECSHOP商城的所有版本,包括最新2.7.4版本,存在免运费赠品加入购物车后依旧收取运费的错误漏洞问题。比如把充值卡商品后台勾选设置为免运费,买家购买该充值卡商品并添加免运费的赠品后,订单反而又要收取邮费的BUG问题。
解决方法打开ECSHOP网站根目录中的flow.php文件,搜索如下代码
function add_gift_to_cart($act_id, $id, $price)
{
    $sql = "INSERT INTO " . $GLOBALS['ecs']->table('cart') . " (" .
                "user_id, session_id, goods_id, goods_sn, goods_name, market_price, goods_price, ".
                "goods_number, is_real, extension_code, parent_id, is_gift, rec_type ) ".
            "SELECT '$_SESSION[user_id]', '" . SESS_ID . "', goods_id, goods_sn, goods_name, market_price, ".
                "'$price', 1, is_real, extension_code, 0, '$act_id', '" . CART_GENERAL_GOODS . "' " .
            "FROM " . $GLOBALS['ecs']->table('goods') .
            " WHERE goods_id = '$id'";
    $GLOBALS['db']->query($sql);
}
将以上的代码修改为如下代码
function add_gift_to_cart($act_id, $id, $price)
{
    $sql = "INSERT INTO " . $GLOBALS['ecs']->table('cart') . " (" .
                "user_id, session_id, goods_id, goods_sn, goods_name, market_price, goods_price, ".
                "goods_number, is_real, extension_code, parent_id, is_gift, rec_type, is_shipping ) ".
            "SELECT '$_SESSION[user_id]', '" . SESS_ID . "', goods_id, goods_sn, goods_name, market_price, ".
                "'$price', 1, is_real, extension_code, 0, '$act_id', '" . CART_GENERAL_GOODS . "', is_shipping " .
            "FROM " . $GLOBALS['ecs']->table('goods') .
            " WHERE goods_id = '$id'";
    $GLOBALS['db']->query($sql);
}
按照以上操作就很好的解决了ECShop网店添加免运费赠品后,购物车变为收取运费的错误漏洞这个问题了。

本文原创地址:https://www.ecshop.cx/article-197.html
版权所有 © 转载时必须以链接形式注明出处!

觉得本文对您有用,想收藏下来!方法很简单:请点击-〉
我们一直坚持白天工作、晚上熬夜更新资源,付出了巨大的精力和时间,其中的辛酸难以言述。

实时购买动态 ×

匿名网友 在 2019-10-10 购买了 ECSHOP自动确认收货评论功能【仿淘宝订单超时系统自动确认收货自动评论商品】