五月婷婷之综合缴情,午夜直播免费看,日韩影片,色爽高清大片免费观看,天天影视网色香欲综合网

B2B2C系統(tǒng) 如何實(shí)現(xiàn)商品分類功能

發(fā)表于2017-11-30 15:35:12 瀏覽:15706

B2B2C系統(tǒng) 如何實(shí)現(xiàn)商品分類功能

    需要完成一個(gè)獨(dú)立的B2B2C商城系統(tǒng),系統(tǒng)分類和店鋪商品分類是必不可少的。讓我們看看商品分類是什么:商品分類是概括一定范圍內(nèi)的集合總體,任何集合總體都可按照一定的標(biāo)志和特征歸納成若干范圍較小的單元,直到劃分為最小的單元。商品的分類,是指按照一定目的,為滿足某種需要選擇適當(dāng)?shù)姆诸悩?biāo)志和特征,將商品集合總體科學(xué)地、系統(tǒng)地逐次劃分為不同的大類、中類、小類、品類或品目、品種,以至規(guī)格、品級等細(xì)目的過程。

 

下面我們以WSTMart電子商務(wù)系統(tǒng)為例,講述一下如何設(shè)計(jì)、開發(fā)一個(gè)B2B2C商城系統(tǒng)的商品分類。

 

一:設(shè)計(jì)分類數(shù)據(jù)表:

商品的分類,會(huì)涉及到:catId自增ID;parentIdID用于關(guān)聯(lián);isShow是否顯示在前臺(tái)展示;isFloor是否顯示在首頁的展示;catName名稱;catSort用于首頁排序展示;dataFlag刪除;createTime時(shí)間。

 

建好后,如下圖:



下面我們要進(jìn)行代碼的編寫,實(shí)現(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){

                 //刪除購物車?yán)锏南嚓P(guān)商品

                 $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();

                 }

             //把相關(guān)的商品下架了

                Db::name('goods')->where("goodsCatId in(".implode(',',$ids).")")->update(['isSale' => 0]);

                WSTClearAllCache();

             }

             return WSTReturn("修改成功", 1);

        }else{

             return WSTReturn($this->getError(),-1);

        }

    }

還可進(jìn)行多級新增,編輯,刪除

 

三:將后臺(tái)管理的商品分類在前臺(tái)展示:

 

獲取商品分類數(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)展示出來,第一級和第二級關(guān)聯(lián),和下次級鮮明的展示關(guān)系,配搭上品牌和廣告,就顯示出首頁的效果了。

 

這樣我們便實(shí)現(xiàn)了B2B2C商城系統(tǒng)商品分類,實(shí)現(xiàn)商品分類并不難,理解思路明確,就可以實(shí)現(xiàn)。

 

文中相關(guān)代碼我就不另外貼了,大家有興趣的可以在WSTMart官網(wǎng)下載。