ホームページ >php教程 >php手册 >Ecshop系统添加免运费赠品后购物车变为收取运费解决办法

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

WBOY
WBOYオリジナル
2016-05-25 16:55:181432ブラウズ
使用商城的朋友可能会经常碰到关于利用ecshop来实现一些活动的需求,把电影票设置为免运费。但是事实情况却事与愿违,消费者购买订单超过100元并添加免运费的赠品后,订单反而又要收取邮费

flow.php

 代码如下 复制代码

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

出问题的地方正是函数“add_gift_to_cart”,找到函数的定义,仍在在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, 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系统添加免运费赠品后,购物车变为收取运费的bug这个问题了。



本文地址:

转载随意,但请附上文章地址:-)

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。