麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > 建站經驗 > 正文

解決ecshop當前訂單發貨數量不能超出訂單商品數量

2024-04-25 20:38:18
字體:
來源:轉載
供稿:網友

最近接手了一個ecshop2.7.3版本的商城,發現后臺發貨時無法修改發貨狀態,然后查看庫存發現沒有缺貨。于是開始追蹤錯誤。

“此單發貨數量不能超出訂單商品數量”提示的是這些文字,所以我先找到了languages/zh_cn/admin/order.php的語言配置文件。

第74行:$_LANG['act_ship_num'] = '此單發貨數量不能超出訂單商品數量';

查找調用此全局變量的頁面,果然,對應的admin/order.php文件。

分析ecshop模板文件,order_delivery_info.htm

{foreach from=$goods.package_goods_list item=package}

<tr>

<td>-- <a href="../goods.php?id={$package.goods_id}" target="_blank">{$package.goods_name}</a></td>

<td>{$package.goods_sn}</td>

<td>{$package.product_sn}</td>

<td>{$package.goods_attr_str}</td>

{if $suppliers_list neq 0} //www.zuimoban.com

<td><div align="right">{$suppliers_name[$package.suppliers_id]|default:$lang.restaurant}</div></td>

{/if}

<td><div align="right">{$package.storage}</div></td>

<td><div align="right">{$package.order_send_number}</div></td>

<td><div align="right">{$package.sended}</div></td>

<td><div align="right"><input name="send_number[{$goods.rec_id}][{$package.g_p}]" type="text" id="send_number_{$goods.rec_id}_{$package.g_p}" value="{$package.send}" size="10" maxlength="11" {$package.readonly}/></div></td>

</tr>

{/foreach}

send_number[{$goods.rec_id}][{$package.g_p}]

數組通過form表單傳遞到order.php?act=operate_post動作下。這個數組蠻別致的,個人理解是用來區分多個商品的信息,以免商品訂單出現混淆。

追蹤到order.php下的act=operate_post下,

/*------------------------------------------------------ */

//-- 操作訂單狀態(處理批量提交)

/*------------------------------------------------------ */

elseif ($_REQUEST['act'] == 'batch_operate_post')

{

/* 檢查權限 */

admin_priv('order_os_edit');

/* 取得參數 */

$order_id = $_REQUEST['order_id']; // 訂單id(逗號格開的多個訂單id)

$operation = $_REQUEST['operation']; // 訂單操作

$action_note= $_REQUEST['action_note']; // 操作備注

$order_id_list = explode(',', $order_id);

/* 初始化處理的訂單sn */

$sn_list = array();

$sn_not_list = array();

好吧 一直往下分析……頭暈眼花中終于找到了可疑目標

/* 發貨數量與總量不符 */

if (!isset($value['package_goods_list']) || !is_array($value['package_goods_list']))

{

$sended = order_delivery_num($order_id, $value['goods_id'], $value['product_id']);

//echo $sended."<br>";

//echo $send_number[$value['rec_id']].'<br>';

//print_r($value);

if (($value['storage'] - $sended - $send_number[$value['rec_id']]) < 0)

{

/* 操作失敗 */

$links[] = array('text' => $_LANG['order_info'], 'href' => 'order.php?act=info&order_id=' . $order_id);

sys_msg($_LANG['act_ship_num'], 1, $links);

}

}

else

{

/* 超值禮包 */

foreach ($goods_list[$key]['package_goods_list'] as $pg_key => $pg_value)

{

if (($pg_value['order_send_number'] - $pg_value['sended'] - $send_number[$value['rec_id']][$pg_value['g_p']]) < 0)

{

/* 操作失敗 */

$links[] = array('text' => $_LANG['order_info'], 'href' => 'order.php?act=info&order_id=' . $order_id);

sys_msg($_LANG['act_ship_num'], 1, $links);

}

}

}

調試后發現數組$value中顯示庫存的數組id并非['goods_number']字段,而是['storage']。完結

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产成人在线视频播放 | 国产精品一区网站 | 最新中文字幕第一页视频 | 午夜视频在线 | cosplay裸体福利写真 | 天天色人人爱 | 91在线视频网址 | 女教师~淫辱の动漫在线 | 永久免费毛片 | 亚洲第一成人在线视频 | 亚洲网站一区 | 日本在线观看视频网站 | 免费一区二区三区 | 视频一区二区三区中文字幕 | 91短视频版高清在线观看www | 久久久久久久91 | 午夜爽爽爽男女免费观看hd | 国产精品a一 | 久久精品a一级国产免视看成人 | 国产高潮国产高潮久久久91 | 久久精品欧美电影 | 成人免费影院 | 国产精彩视频在线 | 欧美视频在线一区二区三区 | 国产大片中文字幕在线观看 | 一级大片一级一大片 | 欧美日本综合 | 在线视频观看一区二区 | av在线播放免费观看 | 91在线视频精品 | v11av在线播放| 香蕉在线播放 | 国产精品一区久久久久 | 国产一级桃视频播放 | 黄色av网站在线观看 | 国产精品热 | 精品国产一区在线观看 | 在线视频 日韩 | 中国洗澡偷拍在线播放 | 免费观看又色又爽又黄的崩锅 | 久久99网|