© 2002-2018 最模板 zuimoban.com 版权所有,并保留所有权利。
ecshop模板网,专注ecshop模板制作、ecshop二次开发服务!
文章详情最近ecshop模板堂忙客户ecshop商城的维护 我们发现:ecshop后台减少库存的时机默认只有下订单时和发货时,不能满足各种客户需求啊,要增加一个商家付款后就能减少库存,先解决方法如下
1. includes/inc_constant.php 文件 大约207行 加上
|
1
|
define('SDT_PAY', 2); // 支付时减少库 |
languages/zh-cn/admin/shop_config.php 文件 大约338行加上
|
1
|
$_LANG['cfg_range']['stock_dec_time']['2'] = '商家付款后'; |
给 数据表 ship_config 中 id 为 423 的行 store_range 增加 2
|
1
2
3
4
|
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 文件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
/* 修改订单状态为已付款 */ $sql = 'UPDATE ' . $GLOBALS['ecs']->table('order_info') . " SET order_status = '" . OS_CONFIRMED . "', " . " confirm_time = '" . gmtime() . "', " . " pay_status = '$pay_status', " . " pay_time = '".gmtime()."', " . " money_paid = order_amount," . " order_amount = 0 ". "WHERE order_id = '$order_id'"; $GLOBALS['db']->query($sql);//在这段之后增加include_once(ROOT_PATH . 'includes/lib_order.php');/* 如果使用库存,且付款时减库存,则减少库存 by sid*/if ($_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PAY){ change_order_goods_storage($order['order_id'], true, SDT_PAY);} |
3. admin/order.php 文件
|
1
2
3
4
5
6
7
8
9
10
|
/* 如果使用库存,且下订单时减库存,则增加库存 */ if ($_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PLACE) { change_order_goods_storage($order_id, false, SDT_PLACE); }//在这段之后增加//无效与取消时加库存if ($_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PAY){ change_order_goods_storage($order_id, false, SDT_PAY);} |
4. flow.php 文件
|
1
2
3
4
5
6
7
8
|
/* 如果订单金额为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);} |
admin/order.php 文件
|
1
2
3
4
5
6
7
8
9
10
11
12
|
$payment = payment_info($order['pay_id']); if ($payment['is_cod']) { $arr['shipping_status'] = SS_RECEIVED; $order['shipping_status'] = SS_RECEIVED; } update_order($order_id, $arr);//在这段之后增加//扣库存if ($_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PAY){ change_order_goods_storage($order['order_id'], true, SDT_PAY);} |
|
1
2
3
4
5
6
7
8
9
10
|
/* 如果使用库存,且下订单时减库存,则增加库存 */ if ($_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PLACE) { change_order_goods_storage($order_id, false, SDT_PLACE); }//在这段之后增加if ($_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PAY) { change_order_goods_storage($order_id, false, SDT_PAY); } |
继续往下
|
1
2
3
4
5
6
7
8
9
10
|
/* 如果使用库存,且下订单时减库存,则增加库存 */ if ($_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PLACE) { change_order_goods_storage($order_id, false, SDT_PLACE); }//在这段之后增加if ($_CFG['use_storage'] == '1' && $_CFG['stock_dec_time'] == SDT_PAY) { change_order_goods_storage($order_id, false, SDT_PAY); } |
如此,一个完整的ecshop商家付款后减少库存的功能就实现了!!