新聞中心
怎么把Ecshop后臺商品重量修改為商品規(guī)格?
站長朋友們都知道ecshop是一款B2C獨立的網(wǎng)店系統(tǒng),該系統(tǒng)是由php語言加mysql數(shù)據(jù)庫架構開發(fā)的一款開源的程序,受到萬千電商的喜愛,也很適合中小型電商使用,建議配合無憂主機的PHP空間使用效果最佳。很多PHP程序員也是由它入手開始的PHP研發(fā)之路。它有很多功能都是事先已經開發(fā)好的,安裝上就可以使用了。無憂主機小編近期也在研究它。之前小編發(fā)布的商品都是按照商品重量發(fā)布的,今天出于好奇小編添加的一件寶貝不是按照重量來發(fā)布的,而是按照規(guī)格大小發(fā)布的。于是小編就登陸到網(wǎng)站后臺->商品列表->添加新商品->其他信息。果然看到沒有商品規(guī)格。只有商品重量如下圖: [caption id="attachment_13889" align="alignnone" width="544"] ecshop后臺[/caption] 小編對程序進行了分析,以及結合網(wǎng)上資料,最終找到了修改的方法,并測試有效。不過修改的步驟的確有點復雜。小編也描述的很詳細。 第一步分析: ecshop商品重量修改為商品規(guī)格需要修改兩個主要地方: 1、修改后臺PHP程序(因為后臺對商品重量內容有限制,即必須為數(shù)字具體設置如下) 2、修改Mysql數(shù)據(jù)庫字段(數(shù)據(jù)庫中商品表中ecs_goods中的goods_weight的字段類型為decimal(10,3) unsigned) 第二步修改: 1’找到主機根目錄下的goods.php(建議用editplus編輯器打開)。 2找到:(在158-179行) 將'promote_end_date' => local_date('Y-m-d', local_strtotime('+1 month')), 'goods_weight' => 0, 'give_integral' => -1, 修改為: 'promote_end_date' => local_date('Y-m-d', local_strtotime('+1 month')), 'goods_weight' => ‘‘, 'give_integral' => -1, 3、再找到:(242-246行)'promote_start_date' => local_date('Y-m-d'), 'promote_end_date' => local_date('Y-m-d', gmstr2tome('+1 month')), 'goods_weight' => 0, 'give_integral' => -1, 'rank_integral' => -1 修改為:'promote_start_date' => local_date('Y-m-d'), 'promote_end_date' => local_date('Y-m-d', gmstr2tome('+1 month')), 'goods_weight' => '800*2000', 'give_integral' => -1, 'rank_integral' => -1 4、再找到:(256-260行)/*根據(jù)商品重量的單位重新計算 */ if ($goods['goods_weight'] > 0) { $goods['goods_weight_by_unit'] = ($goods['goods_weight'] >= 1) ? $goods['goods_weight'] : ($goods['goods_weight'] / 0.001); } 修改為:/* 根據(jù)商品重量的單位重新計算 */ if ($goods['goods_weight']) { $goods['goods_weight_by_unit'] = ($goods['goods_weight'] >= '') ? $goods['goods_guige'] : "800*2000"; } 5、再找到:$smarty->assign('unit_list', get_unit_list()); $smarty->assign('user_rank_list', get_user_rank_list()); $smarty->assign('weight_unit', $is_add ? '1' : ($goods['goods_weight'] >= 1 ? '1' : '0.001')); $smarty->assign('cfg', $_CFG); $smarty->assign('form_act', $is_add ? 'insert' : ($_REQUEST['act'] == 'edit' ? 'update' : 'insert')); 修改為:$smarty->assign('unit_list', get_unit_list()); $smarty->assign('user_rank_list', get_user_rank_list()); $smarty->assign('weight_unit', $is_add ? '' : ($goods['goods_weight'] >= '' ? '' : '800*2000')); $smarty->assign('cfg', $_CFG); $smarty->assign('form_act', $is_add ? 'insert' : ($_REQUEST['act'] == 'edit' ? 'update' : 'insert')); 6、再找到:(798-800頁)$promote_end_date = ($is_promote && !empty($_POST['promote_end_date'])) ? local_strtotime($_POST['promote_end_date']) : 0; $goods_weight = !empty($_POST['goods_weight']) ? $_POST['goods_weight'] * $_POST['weight_unit'] : 0; $is_best = isset($_POST['is_best']) ? 1 : 0; 修改為: $promote_end_date = ($is_promote && !empty($_POST['promote_end_date'])) ? local_strtotime($_POST['promote_end_date']) : 0; $goods_weight = !empty($_POST['goods_weight']) ? $_POST['goods_weight'] : '800*2000'; $is_best = isset($_POST['is_best']) ? 1 : 0; 7、修改數(shù)據(jù)庫中表的字段: 修改表ecs_goods 中的 goods_weight字段。 alter table ecs_goods change goods_weight goods_weight varchar(50) not null; 8、找到后臺添加商品的模板頁 Admin/templates/goods_info.htm 找到下面代碼: <td><input type="text" name="goods_guige" value="{$goods.goods_guige_by_unit}" size="20"/> <select name="weight_unit">{html_options options=$unit_list selected=$weight_unit}</select></td> 修改為:<td><input type="text" name="goods_guige" value="{$goods.goods_guige_by_unit}" size="20" /></td> 按照以上方法設置后再登陸后臺添加商品時也就清楚的看到了商品規(guī)格。如下圖: [caption id="attachment_13890" align="alignnone" width="549"] ecshop后臺添加[/caption] 以上步驟有點繁瑣,畢竟是修改源程序文件,也可以說是一個小小的功能二次開發(fā)了,小編也是研究了一天的時間才搞定的。不過按照小編的步驟一步一步的操作,最后就一定能實現(xiàn)。 相關文章推薦閱讀: ECSHOP后臺商品詳情無法上傳圖片 ECSHOP創(chuàng)建管理員帳號失敗的解決辦法 ECSHOP安裝遇到安裝數(shù)據(jù)失敗的解決方法 ECSHOP去版權_刪除ECSHOP底部版權信息的方法
本文地址:http://www.gle-technology.com/ecshop/13888.html