ECSHOP的發(fā)貨流程確實很麻煩,要操作好幾步才可以,通這本教程,就可以實現(xiàn)一鍵發(fā)貨功能,只需在訂單詳情中填寫快遞單號點擊按鈕即可發(fā)貨完成。
1、訂單列表中,如果是已付款但還未發(fā)貨的訂單,就會顯示一鍵發(fā)貨按鈕,輕松識別未發(fā)貨訂單,如下圖:
點擊進(jìn)入訂單詳情頁,然后訂單詳情中,如下圖。
教程開始:
查找:
<form action="order.php?act=operate"method="post"name="theForm">
在下面添加以下代碼:
<!-- 一鍵發(fā)貨 --> <p class="list-p"style="margin-bottom: 5px"> <table width="100%"cellpadding="3"cellspacing="1"> <tr> <th colspan="2">一鍵確認(rèn)并發(fā)貨</th> </tr> <tr> <td width="18%"> <p align="right"> <strong>發(fā)貨單號:</strong> </p> </td> <td width="82%"> {if$order.pay_status == 2 && $order.shipping_status != 1 && $order.order_status == 1 }<input name="invoice_no"type="text"style="color:#00F"value=""/><input name="to_shipping"type="submit"style="color:#F00"value="一鍵確認(rèn)并發(fā)貨"class="button"/>{/if} (填寫快遞單號,執(zhí)行此操作后一個訂單不管之前是否確認(rèn)都將被設(shè)置為已確認(rèn)、已發(fā)貨狀態(tài),同時記錄下快遞單號。) </td> </tr> </table> </p> <!-- 一鍵發(fā)貨 -->
<th><a href="javascript:listTable.sort('consignee', 'DESC'); ">{$lang.consignee}</a>{$sort_consignee}</th>
在下面添加以下代碼:
<th><a href="javascript:listTable.sort('shipping', 'DESC'); ">配送方式</a>{$sort_shipping}</th>
繼續(xù)查找:
<td align="left"valign="top"><a href="mailto:{$order.email}"> {$order.consignee|escape}</a>{if$order.tel} [TEL: {$order.tel|escape}]{/if} <br />{$order.address|escape}</td>
在下面添加以下代碼:
<td align="center"valign="top">{$order.shipping_name}<br />{if$order.invoice_no}{$order.invoice_no}{elseif$order.pay_status == 2 && $order.shipping_status != 1 && $order.order_status == 1} <a href="order.php?act=info&order_id={$order.order_id}"style="background:#208494;color:#fff;padding:5px;text-decoration:none;">一鍵確認(rèn)并發(fā)貨</a>{/if}</td>
查找:
/* 確認(rèn) */ if(isset($_POST['confirm'])) { $require_note= false; $action= $_LANG['op_confirm']; $operation= 'confirm'; }
在下面添加以下代碼:
/*------------------------------------------------------ */ //-- start一鍵發(fā)貨 /*------------------------------------------------------ */ elseif(isset($_POST['to_shipping'])) { $invoice_no= empty($_REQUEST['invoice_no']) ? '': trim($_REQUEST['invoice_no']); //快遞單號 if(!empty($invoice_no)) { $order_id= intval(trim($order_id)); $action_note= trim($action_note); /* 查詢:根據(jù)訂單id查詢訂單信息 */ if(!empty($order_id)) { $order= order_info($order_id); } else { die('order does not exist'); } /* 查詢:根據(jù)訂單是否完成 檢查權(quán)限 */ if(order_finished($order)) { admin_priv('order_view_finished'); } else { admin_priv('order_view'); } /* 查詢:如果管理員屬于某個辦事處,檢查該訂單是否也屬于這個辦事處 */ $sql= "SELECT agency_id FROM ". $ecs->table('admin_user') . " WHERE user_id = '$_SESSION[admin_id]'"; $agency_id= $db->getOne($sql); if($agency_id> 0) { if($order['agency_id'] != $agency_id) { sys_msg($_LANG['priv_error'], 0); } } /* 查詢:取得用戶名 */ if($order['user_id'] > 0) { $user= user_info($order['user_id']); if(!empty($user)) { $order['user_name'] = $user['user_name']; } } /* 查詢:取得區(qū)域名 */ $order['region'] = $db->getOne($sql); /* 查詢:其他處理 */ $order['order_time'] = local_date($_CFG['time_format'], $order['add_time']); $order['invoice_no'] = $order['shipping_status'] == SS_UNSHIPPED || $order['shipping_status'] == SS_PREPARING ? $_LANG['ss'][SS_UNSHIPPED] : $order['invoice_no']; /* 查詢:是否保價 */ $order['insure_yn'] = empty($order['insure_fee']) ? 0 : 1; /* 查詢:是否存在實體商品 */ $exist_real_goods= exist_real_goods($order_id); /* 查詢:取得訂單商品 */ $_goods= get_order_goods(array('order_id'=> $order['order_id'], 'order_sn'=>$order['order_sn'])); $attr= $_goods['attr']; $goods_list= $_goods['goods_list']; unset($_goods); /* 查詢:商品已發(fā)貨數(shù)量 此單可發(fā)貨數(shù)量 */ if($goods_list) { foreach($goods_listas$key=> $value) { } foreach($goods_listas$key=>$goods_value) { if(!$goods_value['goods_id']) { continue; } /* 超級禮包 */ if(($goods_value['extension_code'] == 'package_buy') && (count($goods_value['package_goods_list']) > 0)) { $goods_list[$key]['package_goods_list'] = package_goods($goods_value['package_goods_list'], $goods_value['goods_number'], $goods_value['order_id'], $goods_value['extension_code'], $goods_value['goods_id']); foreach($goods_list[$key]['package_goods_list'] as$pg_key=> $pg_value) { $goods_list[$key]['package_goods_list'][$pg_key]['readonly'] = ''; /* 使用庫存 是否缺貨 */ if($pg_value['storage'] <= 0 && $_CFG['use_storage'] == '1'&& $_CFG['stock_dec_time'] == SDT_SHIP) { $goods_list[$key]['package_goods_list'][$pg_key]['send'] = $_LANG['act_good_vacancy']; $goods_list[$key]['package_goods_list'][$pg_key]['readonly'] = 'readonly="readonly"'; } /* 將已經(jīng)全部發(fā)貨的商品設(shè)置為只讀 */ elseif($pg_value['send'] <= 0) { $goods_list[$key]['package_goods_list'][$pg_key]['send'] = $_LANG['act_good_delivery']; $goods_list[$key]['package_goods_list'][$pg_key]['readonly'] = 'readonly="readonly"'; } } } else { $goods_list[$key]['sended'] = $goods_value['send_number']; $goods_list[$key]['sended'] = $goods_value['goods_number']; $goods_list[$key]['send'] = $goods_value['goods_number'] - $goods_value['send_number']; $goods_list[$key]['readonly'] = ''; /* 是否缺貨 */ if($goods_value['storage'] <= 0 && $_CFG['use_storage'] == '1'&& $_CFG['stock_dec_time'] == SDT_SHIP) { $goods_list[$key]['send'] = $_LANG['act_good_vacancy']; $goods_list[$key]['readonly'] = 'readonly="readonly"'; } elseif($goods_list[$key]['send'] <= 0) { $goods_list[$key]['send'] = $_LANG['act_good_delivery']; $goods_list[$key]['readonly'] = 'readonly="readonly"'; } } } } $suppliers_id= 0; $delivery['order_sn'] = trim($order['order_sn']); $delivery['add_time'] = trim($order['order_time']); $delivery['user_id'] = intval(trim($order['user_id'])); $delivery['how_oos'] = trim($order['how_oos']); $delivery['shipping_id'] = trim($order['shipping_id']); $delivery['shipping_fee'] = trim($order['shipping_fee']); $delivery['consignee'] = trim($order['consignee']); $delivery['address'] = trim($order['address']); $delivery['country'] = intval(trim($order['country'])); $delivery['province'] = intval(trim($order['province'])); $delivery['cit'] = intval(trim($order['city'])); $delivery['district'] = intval(trim($order['district'])); $delivery['sign_building'] = trim($order['sign_building']); $delivery['email'] = trim($order['email']); $delivery['zipcode'] = trim($order['zipcode']); $delivery['tel'] = trim($order['tel']); $delivery['mobile'] = trim($order['mobile']); $delivery['best_time'] = trim($order['best_time']); $delivery['postscript'] = trim($order['postscript']); $delivery['how_oos'] = trim($order['how_oos']); $delivery['insure_fee'] = floatval(trim($order['insure_fee'])); $delivery['shipping_fee'] = floatval(trim($order['shipping_fee'])); $delivery['agency_id'] = intval(trim($order['agency_id'])); $delivery['shipping_name'] = trim($order['shipping_name']); /* 查詢訂單信息 */ $order= order_info($order_id); /* 檢查能否操作 */ $operable_list= operable_list($order); /* 初始化提示信息 */ $msg= ''; /* 定義當(dāng)前時間 */ define('GMTIME_UTC', gmtime()); // 獲取 UTC 時間戳 /* 取得訂單商品 */ $_goods= get_order_goods(array('order_id'=> $order_id, 'order_sn'=> $delivery['order_sn'])); $goods_list= $_goods['goods_list']; /* 檢查此單發(fā)貨商品庫存缺貨情況 */ /* $goods_list已經(jīng)過處理 超值禮包中商品庫存已取得 */ $virtual_goods= array(); $package_virtual_goods= array(); /* 生成發(fā)貨單 */ /* 獲取發(fā)貨單號和流水號 */ $delivery['delivery_sn'] = get_delivery_sn(); $delivery_sn= $delivery['delivery_sn']; /* 獲取當(dāng)前操作員 */ $delivery['action_user'] = $_SESSION['admin_name']; /* 獲取發(fā)貨單生成時間 */ $delivery['update_time'] = GMTIME_UTC; $delivery_time= $delivery['update_time']; $sql="select add_time from ". $GLOBALS['ecs']->table('order_info') ." WHERE order_sn = '". $delivery['order_sn'] . "'"; $delivery['add_time'] = $GLOBALS['db']->GetOne($sql); /* 獲取發(fā)貨單所屬供應(yīng)商 */ $delivery['suppliers_id'] = $suppliers_id; /* 設(shè)置默認(rèn)值 */ $delivery['status'] = 2; // 正常 $delivery['order_id'] = $order_id; /* 過濾字段項 */ $filter_fileds= array( 'order_sn', 'add_time', 'user_id', 'how_oos', 'shipping_id', 'shipping_fee', 'consignee', 'address', 'country', 'province', 'city', 'district', 'sign_building', 'email', 'zipcode', 'tel', 'mobile', 'best_time', 'postscript', 'insure_fee', 'agency_id', 'delivery_sn', 'action_user', 'update_time', 'suppliers_id', 'status', 'order_id', 'shipping_name' ); $_delivery= array(); foreach($filter_filedsas$value) { $_delivery[$value] = $delivery[$value]; } /* 發(fā)貨單入庫 */ $query= $db->autoExecute($ecs->table('delivery_order'), $_delivery, 'INSERT', '', 'SILENT'); $delivery_id= $db->insert_id(); if($delivery_id) { $delivery_goods= array(); //發(fā)貨單商品入庫 if(!empty($goods_list)) { foreach($goods_listas$value) { // 商品(實貨)(虛貨) if(empty($value['extension_code']) || $value['extension_code'] == 'virtual_card') { $delivery_goods= array('delivery_id'=> $delivery_id, 'goods_id'=> $value['goods_id'], 'product_id'=> $value['product_id'], 'product_sn'=> $value['product_sn'], 'goods_id'=> $value['goods_id'], 'goods_name'=> $value['goods_name'], 'brand_name'=> $value['brand_name'], 'goods_sn'=> $value['goods_sn'], 'send_number'=> $value['goods_number'], 'parent_id'=> 0, 'is_real'=> $value['is_real'], 'goods_attr'=> $value['goods_attr'] ); /* 如果是貨品 */ if(!empty($value['product_id'])) { $delivery_goods['product_id'] = $value['product_id']; } $query= $db->autoExecute($ecs->table('delivery_goods'), $delivery_goods, 'INSERT', '', 'SILENT'); $sql= "UPDATE ".$GLOBALS['ecs']->table('order_goods'). " SET send_number = " . $value['goods_number'] . " WHERE order_id = '" . $value['order_id'] . "' AND goods_id = '" . $value['goods_id'] . "'"; $GLOBALS['db']->query($sql, 'SILENT'); } // 商品(超值禮包) elseif($value['extension_code'] == 'package_buy') { foreach($value['package_goods_list'] as$pg_key=> $pg_value) { $delivery_pg_goods= array('delivery_id'=> $delivery_id, 'goods_id'=> $pg_value['goods_id'], 'product_id'=> $pg_value['product_id'], 'product_sn'=> $pg_value['product_sn'], 'goods_name'=> $pg_value['goods_name'], 'brand_name'=> '', 'goods_sn'=> $pg_value['goods_sn'], 'send_number'=> $value['goods_number'], 'parent_id'=> $value['goods_id'], // 禮包ID 'extension_code'=> $value['extension_code'], // 禮包 'is_real'=> $pg_value['is_real'] ); $query= $db->autoExecute($ecs->table('delivery_goods'), $delivery_pg_goods, 'INSERT', '', 'SILENT'); $sql= "UPDATE ".$GLOBALS['ecs']->table('order_goods'). " SET send_number = " . $value['goods_number'] . " WHERE order_id = '" . $value['order_id'] . "' AND goods_id = '" . $pg_value['goods_id'] . "'"; $GLOBALS['db']->query($sql, 'SILENT'); } } } } } else { /* 操作失敗 */ $links[] = array('text'=> $_LANG['order_info'], 'href'=> 'order.php?act=info&order_id='. $order_id); sys_msg($_LANG['act_false'], 1, $links); } unset($filter_fileds, $delivery, $_delivery, $order_finish); /* 定單信息更新處理 */ if(true) { /* 標(biāo)記訂單為已確認(rèn) “發(fā)貨中” */ /* 更新發(fā)貨時間 */ $order_finish= get_order_finish($order_id); $shipping_status= SS_SHIPPED_ING; if($order['order_status'] != OS_CONFIRMED && $order['order_status'] != OS_SPLITED && $order['order_status'] != OS_SPLITING_PART) { $arr['order_status'] = OS_CONFIRMED; $arr['confirm_time'] = GMTIME_UTC; } $arr['order_status'] = $order_finish? OS_SPLITED : OS_SPLITING_PART; // 全部分單、部分分單 $arr['shipping_status'] = $shipping_status; update_order($order_id, $arr); } /* 記錄log */ order_action($order['order_sn'], $arr['order_status'], $shipping_status, $order['pay_status'], $action_note); /* 清除緩存 */ clear_cache_files(); /* 根據(jù)發(fā)貨單id查詢發(fā)貨單信息 */ if(!empty($delivery_id)) { $delivery_order= delivery_order_info($delivery_id); } elseif(!empty($order_sn)) { $delivery_id= $GLOBALS['db']->getOne("SELECT delivery_id FROM ". $ecs->table('delivery_order') . " WHERE order_sn = ". $order_sn); $delivery_order= delivery_order_info($delivery_id); } else { die('order does not exist'); } /* 如果管理員屬于某個辦事處,檢查該訂單是否也屬于這個辦事處 */ $sql= "SELECT agency_id FROM ". $ecs->table('admin_user') . " WHERE user_id = '". $_SESSION['admin_id'] . "'"; $agency_id= $db->getOne($sql); if($agency_id> 0) { if($delivery_order['agency_id'] != $agency_id) { sys_msg($_LANG['priv_error']); } /* 取當(dāng)前辦事處信息 */ $sql= "SELECT agency_name FROM ". $ecs->table('agency') . " WHERE agency_id = '$agency_id' LIMIT 0, 1"; $agency_name= $db->getOne($sql); $delivery_order['agency_name'] = $agency_name; } /* 取得用戶名 */ if($delivery_order['user_id'] > 0) { $user= user_info($delivery_order['user_id']); if(!empty($user)) { $delivery_order['user_name'] = $user['user_name']; } } /* 取得區(qū)域名 */ $sql= "SELECT concat(IFNULL(c.region_name, ''), ' ', IFNULL(p.region_name, ''), ". "' ', IFNULL(t.region_name, ''), ' ', IFNULL(d.region_name, '')) AS region ". "FROM ". $ecs->table('order_info') . " AS o ". "LEFT JOIN ". $ecs->table('region') . " AS c ON o.country = c.region_id ". "LEFT JOIN ". $ecs->table('region') . " AS p ON o.province = p.region_id ". "LEFT JOIN ". $ecs->table('region') . " AS t ON o.city = t.region_id ". "LEFT JOIN ". $ecs->table('region') . " AS d ON o.district = d.region_id ". "WHERE o.order_id = '". $delivery_order['order_id'] . "'"; $delivery_order['region'] = $db->getOne($sql); /* 是否保價 */ $order['insure_yn'] = empty($order['insure_fee']) ? 0 : 1; /* 取得發(fā)貨單商品 */ $goods_sql= "SELECT * FROM " . $ecs->table('delivery_goods') . " WHERE delivery_id = " . $delivery_order['delivery_id']; $goods_list= $GLOBALS['db']->getAll($goods_sql); /* 是否存在實體商品 */ $exist_real_goods= 0; if($goods_list) { foreach($goods_listas$value) { if($value['is_real']) { $exist_real_goods++; } } } /* 取得訂單操作記錄 */ $act_list= array(); $sql= "SELECT * FROM ". $ecs->table('order_action') . " WHERE order_id = '". $delivery_order['order_id'] . "'AND action_place = 1 ORDER BY log_time DESC,action_id DESC"; $res= $db->query($sql); while($row= $db->fetchRow($res)) { $row['order_status'] = $_LANG['os'][$row['order_status']]; $row['pay_status'] = $_LANG['ps'][$row['pay_status']]; $row['shipping_status'] = ($row['shipping_status'] == SS_SHIPPED_ING) ? $_LANG['ss_admin'][SS_SHIPPED_ING] : $_LANG['ss'][$row['shipping_status']]; $row['action_time'] = local_date($_CFG['time_format'], $row['log_time']); $act_list[] = $row; } /*同步發(fā)貨*/ /*判斷支付方式是否支付寶*/ $alipay= false; $order= order_info($delivery_order['order_id']); //根據(jù)訂單ID查詢訂單信息,返回數(shù)組$order $payment= payment_info($order['pay_id']); //取得支付方式信息 /* 定義當(dāng)前時間 */ define('GMTIME_UTC', gmtime()); // 獲取 UTC 時間戳 /* 根據(jù)發(fā)貨單id查詢發(fā)貨單信息 */ if(!empty($delivery_id)) { $delivery_order= delivery_order_info($delivery_id); } else { die('order does not exist'); } /* 查詢訂單信息 */ $order= order_info($order_id); /* 檢查此單發(fā)貨商品庫存缺貨情況 */ $virtual_goods= array(); $delivery_stock_sql= "SELECT DG.goods_id, DG.is_real, DG.product_id, SUM(DG.send_number) AS sums, IF(DG.product_id > 0, P.product_number, G.goods_number) AS storage, G.goods_name, DG.send_number FROM " . $GLOBALS['ecs']->table('delivery_goods') . "AS DG, " . $GLOBALS['ecs']->table('goods') . "AS G, " . $GLOBALS['ecs']->table('products') . "AS P WHERE DG.goods_id = G.goods_id AND DG.delivery_id = '$delivery_id' AND DG.product_id = P.product_id GROUP BY DG.product_id "; $delivery_stock_result= $GLOBALS['db']->getAll($delivery_stock_sql); /* 如果商品存在規(guī)格就查詢規(guī)格,如果不存在規(guī)格按商品庫存查詢 */ if(!empty($delivery_stock_result)) { foreach($delivery_stock_resultas$value) { if(($value['sums'] > $value['storage'] || $value['storage'] <= 0) && (($_CFG['use_storage'] == '1'&& $_CFG['stock_dec_time'] == SDT_SHIP) || ($_CFG['use_storage'] == '0'&& $value['is_real'] == 0))) { /* 操作失敗 */ $links[] = array('text'=> $_LANG['order_info'], 'href'=> 'order.php?act=delivery_info&delivery_id='. $delivery_id); sys_msg(sprintf($_LANG['act_good_vacancy'], $value['goods_name']), 1, $links); break; } /* 虛擬商品列表 virtual_card*/ if($value['is_real'] == 0) { $virtual_goods[] = array( 'goods_id'=> $value['goods_id'], 'goods_name'=> $value['goods_name'], 'num'=> $value['send_number'] ); } } } else { $delivery_stock_sql= "SELECT DG.goods_id, DG.is_real, SUM(DG.send_number) AS sums, G.goods_number, G.goods_name, DG.send_number FROM " . $GLOBALS['ecs']->table('delivery_goods') . "AS DG, " . $GLOBALS['ecs']->table('goods') . "AS G WHERE DG.goods_id = G.goods_id AND DG.delivery_id = '$delivery_id' GROUP BY DG.goods_id "; $delivery_stock_result= $GLOBALS['db']->getAll($delivery_stock_sql); foreach($delivery_stock_resultas$value) { if(($value['sums'] > $value['goods_number'] || $value['goods_number'] <= 0) && (($_CFG['use_storage'] == '1'&& $_CFG['stock_dec_time'] == SDT_SHIP) || ($_CFG['use_storage'] == '0'&& $value['is_real'] == 0))) { /* 操作失敗 */ $links[] = array('text'=> $_LANG['order_info'], 'href'=> 'order.php?act=delivery_info&delivery_id='. $delivery_id); sys_msg(sprintf($_LANG['act_good_vacancy'], $value['goods_name']), 1, $links); break; } /* 虛擬商品列表 virtual_card*/ if($value['is_real'] == 0) { $virtual_goods[] = array( 'goods_id'=> $value['goods_id'], 'goods_name'=> $value['goods_name'], 'num'=> $value['send_number'], ); } } } /* 發(fā)貨 */ /* 處理虛擬卡 商品(虛貨) */ if(is_array($virtual_goods) && count($virtual_goods) > 0) { foreach($virtual_goodsas$virtual_value) { virtual_card_shipping($virtual_value,$order['order_sn'], $msg, 'split'); } } /* 如果使用庫存,且發(fā)貨時減庫存,則修改庫存 */ if($_CFG['use_storage'] == '1'&& $_CFG['stock_dec_time'] == SDT_SHIP) { foreach($delivery_stock_resultas$value) { /* 商品(實貨)、超級禮包(實貨) */ if($value['is_real'] != 0) { //(貨品) if(!empty($value['product_id'])) { $minus_stock_sql= "UPDATE ". $GLOBALS['ecs']->table('products') . " SET product_number = product_number - " . $value['sums'] . " WHERE product_id = " . $value['product_id']; $GLOBALS['db']->query($minus_stock_sql, 'SILENT'); } $minus_stock_sql= "UPDATE ". $GLOBALS['ecs']->table('goods') . " SET goods_number = goods_number - " . $value['sums'] . " WHERE goods_id = " . $value['goods_id']; $GLOBALS['db']->query($minus_stock_sql, 'SILENT'); } } } /* 修改發(fā)貨單信息 */ $invoice_no= trim($invoice_no); $_delivery['invoice_no'] = $invoice_no; $_delivery['status'] = 0; // 0,為已發(fā)貨 $query= $db->autoExecute($ecs->table('delivery_order'), $_delivery, 'UPDATE', "delivery_id = $delivery_id", 'SILENT'); if(!$query) { /* 操作失敗 */ $links[] = array('text'=> $_LANG['delivery_sn'] . $_LANG['detail'], 'href'=> 'order.php?act=delivery_info&delivery_id='. $delivery_id); sys_msg($_LANG['act_false'], 1, $links); } /* 標(biāo)記訂單為已確認(rèn) “已發(fā)貨” */ /* 更新發(fā)貨時間 */ $order_finish= get_all_delivery_finish($order_id); $shipping_status= ($order_finish== 1) ? SS_SHIPPED : SS_SHIPPED_PART; $arr['shipping_status'] = $shipping_status; $arr['shipping_time'] = GMTIME_UTC; // 發(fā)貨時間 $arr['invoice_no'] = trim($order['invoice_no'] . '<br>'. $invoice_no, '<br>'); update_order($order_id, $arr); /* 發(fā)貨單發(fā)貨記錄log */ order_action($order['order_sn'], OS_CONFIRMED, $shipping_status, $order['pay_status'], $action_note, null, 1); /* 如果當(dāng)前訂單已經(jīng)全部發(fā)貨 */ if($order_finish) { /* 如果訂單用戶不為空,計算積分,并發(fā)給用戶;發(fā)紅包 */ if($order['user_id'] > 0) { /* 取得用戶信息 */ $user= user_info($order['user_id']); /* 計算并發(fā)放積分 */ $integral= integral_to_give($order); log_account_change($order['user_id'], 0, 0, intval($integral['rank_points']), intval($integral['custom_points']), sprintf($_LANG['order_gift_integral'], $order['order_sn'])); /* 發(fā)放紅包 */ send_order_bonus($order_id); } /* 發(fā)送郵件 */ $cfg= $_CFG['send_ship_email']; if($cfg== '1') { $order['invoice_no'] = $invoice_no; $tpl= get_mail_template('deliver_notice'); $smarty->assign('order', $order); $smarty->assign('send_time', local_date($_CFG['time_format'])); $smarty->assign('shop_name', $_CFG['shop_name']); $smarty->assign('send_date', local_date($_CFG['date_format'])); $smarty->assign('sent_date', local_date($_CFG['date_format'])); $smarty->assign('confirm_url', $ecs->url() . 'receive.php?id='. $order['order_id'] . '&con='. rawurlencode($order['consignee'])); $smarty->assign('send_msg_url',$ecs->url() . 'user.php?act=message_list&order_id='. $order['order_id']); $content= $smarty->fetch('str:'. $tpl['template_content']); if(!send_mail($order['consignee'], $order['email'], $tpl['template_subject'], $content, $tpl['is_html'])) { $msg= $_LANG['send_mail_fail']; } } /* 如果需要,發(fā)短信 */ if($GLOBALS['_CFG']['sms_order_shipped'] == '1'&& $order['mobile'] != '') { include_once('../includes/cls_sms.php'); $sms= newsms(); $sms->send($order['mobile'], sprintf($GLOBALS['_LANG']['order_shipped_sms'], $order['order_sn'], local_date($GLOBALS['_LANG']['sms_time_format']), $GLOBALS['_CFG']['shop_name']), 0); } } /* 清除緩存 */ clear_cache_files(); /* 操作成功 */ $links[] = array('text'=> $_LANG['09_delivery_order'], 'href'=> 'order.php?act=delivery_list'); $links[] = array('text'=> $_LANG['delivery_sn'] . $_LANG['detail'], 'href'=> 'order.php?act=delivery_info&delivery_id='. $delivery_id); sys_msg($_LANG['act_ok'], 0, $links); } } /*------------------------------------------------------ */ //-- end一鍵發(fā)貨 /*------------------------------------------------------ */
繼續(xù)查找:
$sql= "SELECT o.order_id, o.order_sn, o.add_time, o.order_status, o.shipping_status, o.order_amount, o.money_paid,".
修改成:
$sql= "SELECT o.order_id, o.order_sn, o.add_time, o.order_status, o.shipping_status, o.order_amount, o.money_paid, o.shipping_name, o.invoice_no,".
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: Ecshop二次開發(fā)后臺訂單實現(xiàn)一鍵發(fā)貨功能教程