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網店添加免運費贈品后,購物車變為收取運費的錯誤漏洞這個問題了。
新聞熱點
疑難解答