B2B2C系統(tǒng) 如何實現(xiàn)商品分類功能
瀏覽量 : 3386
平臺演示 | 演示地址 |
---|---|
B2B2C多用戶商城系統(tǒng) | http://test.wstmart.net/admin |
多語言商城系統(tǒng) | http://dyy.wstmart.net/admin |
訂單管理系統(tǒng) | https://oms.shangtao.net/admin |
聯(lián)系商務人員可獲取系統(tǒng)資料及詳細報價 |
瀏覽量 : 3386
瀏覽量 : 3305
瀏覽量 : 2886
瀏覽量 : 2859
瀏覽量 : 2718
瀏覽量 : 2716
瀏覽量 : 2479
瀏覽量 : 2477
瀏覽量 : 2439
瀏覽量 : 2312
B2B2C系統(tǒng) 如何實現(xiàn)商品分類功能
需要完成一個獨立的B2B2C商城系統(tǒng),系統(tǒng)分類和店鋪商品分類是必不可少的。讓我們看看商品分類是什么:商品分類是概括一定范圍內(nèi)的集合總體,任何集合總體都可按照一定的標志和特征歸納成若干范圍較小的單元,直到劃分為最小的單元。商品的分類,是指按照一定目的,為滿足某種需要選擇適當?shù)姆诸悩酥竞吞卣?,將商品集合總體科學地、系統(tǒng)地逐次劃分為不同的大類、中類、小類、品類或品目、品種,以至規(guī)格、品級等細目的過程。
下面我們以WSTMart電子商務系統(tǒng)為例,講述一下如何設計、開發(fā)一個B2B2C商城系統(tǒng)的商品分類。
一:設計分類數(shù)據(jù)表:
商品的分類,會涉及到:catId自增ID;parentId父ID用于關聯(lián);isShow是否顯示在前臺展示;isFloor是否顯示在首頁的展示;catName名稱;catSort用于首頁排序展示;dataFlag刪除;createTime時間。
建好后,如下圖:
下面我們要進行代碼的編寫,實現(xiàn) B2B2C商城系統(tǒng)分類的增刪改了,以編輯商品分類來演示一下吧,新增,刪除和此類似:
public function edit(){
$catId = input('post.id/d');
$data = input('post.');
WSTUnset($data,'catId,dataFlag,createTime');
$result = $this->validate('GoodsCats.edit')->allowField(true)->save($data,['catId'=>$catId]);
$ids = array();
$ids = $this->getChild($catId);
$this->where("catId in(".implode(',',$ids).")")->update(['isShow' => (int)$data['isShow'],'isFloor'=> $data['isFloor'],'commissionRate'=>(float)$data['commissionRate']]);
if(false !== $result){
if($data['isShow']==0){
//刪除購物車里的相關商品
$goods = Db::name('goods')->where(["goodsCatId"=>['in',$ids],'isSale'=>1])->field('goodsId')->select();
if(count($goods)>0){
$goodsIds = [];
foreach ($goods as $key =>$v){
$goodsIds[] = $v['goodsId'];
}
Db::name('carts')->where(['goodsId'=>['in',$goodsIds]])->delete();
}
//把相關的商品下架了
Db::name('goods')->where("goodsCatId in(".implode(',',$ids).")")->update(['isSale' => 0]);
WSTClearAllCache();
}
return WSTReturn("修改成功", 1);
}else{
return WSTReturn($this->getError(),-1);
}
}
還可進行多級新增,編輯,刪除
三:將后臺管理的商品分類在前臺展示:
獲取商品分類數(shù)據(jù),然后顯示出來:
function WSTSideCategorys(){
$data = cache('WST_SIDE_CATS');
if(!$data){
$cats1 = Db::table('__GOODS_CATS__')->where(['dataFlag'=>1, 'isShow' => 1,'parentId'=>0])->field("catName,catId,catImg")->order('catSort asc')->select();
if(count($cats1)>0){
$ids1 = [];$ids2 = [];$cats2 = [];$cats3 = [];$mcats3 = [];$mcats2 = [];
foreach ($cats1 as $key =>$v){
$ids1[] = $v['catId'];
}
$tmp2 = Db::table('__GOODS_CATS__')->where(['dataFlag'=>1, 'isShow' => 1,'parentId'=>['in',$ids1]])->field("catName,catId,parentId,catImg")->order('catSort asc')->select();
if(count($tmp2)>0){
foreach ($tmp2 as $key =>$v){
$ids2[] = $v['catId'];
}
$tmp3 = Db::table('__GOODS_CATS__')->where(['dataFlag'=>1, 'isShow' => 1,'parentId'=>['in',$ids2]])->field("catName,catId,parentId,catImg")->order('catSort asc')->select();
if(count($tmp3)>0){
//組裝第三級
foreach ($tmp3 as $key =>$v){
$mcats3[$v['parentId']][] = $v;
}
}
//組裝第二級
foreach ($tmp2 as $key =>$v){
if(isset($mcats3[$v['catId']]))$v['list'] = $mcats3[$v['catId']];
$mcats2[$v['parentId']][] = $v;
}
//組裝第一級
foreach ($cats1 as $key =>$v){
if(isset($mcats2[$v['catId']]))$cats1[$key]['list'] = $mcats2[$v['catId']];
}
}
unset($ids1,$ids2,$cats2,$cats3,$mcats3,$mcats2);
}
cache('WST_SIDE_CATS',$cats1);
return $cats1;
}
return $data;
}
根據(jù)級別的循環(huán)展示出來,第一級和第二級關聯(lián),和下次級鮮明的展示關系,配搭上品牌和廣告,就顯示出首頁的效果了。
這樣我們便實現(xiàn)了B2B2C商城系統(tǒng)商品分類,實現(xiàn)商品分類并不難,理解思路明確,就可以實現(xiàn)。
文中相關代碼我就不另外貼了,大家有興趣的可以在WSTMart官網(wǎng)下載。
添加客服咨詢詳情
咨詢熱線:15918671994
多用戶
商城系統(tǒng)
訂單
管理系統(tǒng)
訂貨
管理系統(tǒng)
多語言
商城系統(tǒng)