ECSHOP付款后自动减少库存功能

ECSHOP插件网付款后自动减少库存功能 ECSHOP付款后减库存功能
先说下ECSHOP后台库存减少的机制。
ecshop默认只有下订单时和发货时,在用户拍了而没确认订单就减少库存,是不合理的机制,也不能满足各种客户需求。因此ECSHOP插件网提供付款后自动减少库存插件,在用户下单付款后自动减少商品库存,满足大部分客户所需。
功能效果截图:登录ECSHOP后台 -> 系统设置 -> 购物流程,设置减库存的机制(这里新增付款时减少库存)
ECSHOP付款后自动减少库存功能
以下是ECSHOP插件网提供网上的实现方法如下:
第一步:打开includes/inc_constant.php文件
找到如下代码:
define('SDT_PLACE',                 1); // 下订单时
下行加上以下代码:
define('SDT_PAY',                   2); // 支付时减少库
第二步:打开languages/zh-cn/admin/shop_config.php文件,在338行加上如下代码
$_LANG['cfg_range']['stock_dec_time']['2'] = '商家付款后';
第三步:给ECSHOP数据表 ship_config 中 id 为 423 的行 store_range 增加 2

第四步:打开includes/lib_order.php文件,找到如下代码
        case 1 :
            $sql = "SELECT goods_id, SUM(goods_number) AS num, MAX(extension_code) AS extension_code, product_id FROM " . $GLOBALS['ecs']->table('order_goods') .
                    " WHERE order_id = '$order_id' AND is_real = 1 GROUP BY goods_id, product_id";
        break;
下行加上以下代码:
        case 2 :
            $sql = "SELECT goods_id, SUM(goods_number) AS num, MAX(extension_code) AS extension_code, product_id FROM " . $GLOBALS['ecs']->table('order_goods') .
                    " WHERE order_id = '$order_id' AND is_real = 1 GROUP BY goods_id, product_id";
        break;
第五步:打开includes/lib_payment.php文件,找到如下代码
                /* 记录订单操作记录 */
                order_action($order_sn, OS_CONFIRMED, SS_UNSHIPPED, $pay_status, $note, $GLOBALS['_LANG']['buyer']);
上行加上以下代码:
                /* 如果使用库存,且付款后减库存,则减少库存 by ecshop.cx */
                include_once(ROOT_PATH . 'includes/lib_order.php');
                if ($_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PAY)
                {
                    change_order_goods_storage($order['order_id'], true, SDT_PAY);
                }
第六步:打开admin/order.php文件,找到如下代码(共有四处需修改)
                /* 如果使用库存,且下订单时减库存,则增加库存 */
                if ($_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PLACE)
                {
                    change_order_goods_storage($order_id, false, SDT_PLACE);
                }
下行加上以下代码:
                /* 无效与取消时加库存 by ecshop.cx */
                if ($_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PAY)
                {
                    change_order_goods_storage($order_id, false, SDT_PAY);
                }
继续找到如下代码:
        if ($payment['is_cod'])
        {
            $arr['shipping_status'] = SS_RECEIVED;
            $order['shipping_status'] = SS_RECEIVED;
        }
        update_order($order_id, $arr);
下行加上以下代码:
        /* 如果使用库存,且付款后减库存,则减少库存 by ecshop.cx */
        if ($_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PAY)
        {
            change_order_goods_storage($order['order_id'], true, SDT_PAY);
        }
最后第七步:打开flow.php文件文件,找到如下代码
    /* 如果订单金额为0 处理虚拟卡 */
    if ($order['order_amount'] <= 0)
    {
下行加上以下代码:
        if ($_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PAY)
        {
            change_order_goods_storage($order['order_id'], true, SDT_PAY);
        }
按照以上每一步操作一个ecshop付款后减少库存的功能就实现了!!

提醒:以上是网上提供的方法,经过我们ECSHOP插件网测试,虽然功能实现了代码存在不完整以及功能不完善,还有提示错误等问题。比如当你下订单后先不要支付,然后返回用户中心切换支付方式或者使用余额支付,库存不减。有能力的自己完善修复解决或建议使用ECSHOP付款后自动减少库存功能请选购安装我们ECSHOP插件网开发的正版,全网唯一完善完整正版。(https://www.ecshop.cx/goods-355.html)。

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

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

实时购买动态 ×

Zz✉会员 在 2019-06-02 购买了 ecshop中英繁多语言切换游览【带商品文章描述英文版内容】