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

ecshop默认只有下订单时和发货时,在用户拍了而没确认订单就减少库存,是不合理的机制,也不能满足各种客户需求。因此ECSHOP插件网提供付款后自动减少库存插件,在用户下单付款后自动减少商品库存,满足大部分客户所需。

功能效果截图:登录ECSHOP后台 -> 系统设置 -> 购物流程,设置减库存的机制(这里新增付款时减少库存)

6599d68d6c18124691de72ae0ee73446.gif

以下是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)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值