必要完成一个独立的B2B2C体系,体系分类和店肆商品分类是必不可少的。让我们看看商品分类是什么:商品分类是概括肯定范围内的聚集总体,任何聚集总体都可按照肯定的标志和特性归纳成多少范围较小的单位,直到分别为最小的单位。商品的分类,是指按照肯定目标,为满足某种必要选择恰当的分类标志和特性,将商品聚集总体科学地、体系地逐次分别为差别的大类、中类、小类、品类或品目、品种,以至规格、品级等细目标过程。
下面我们以一个现实的案例,陈诉一下怎样筹划、开发一个B2B2C体系的商品分类。
一:筹划分类数据表:
商品的分类,会涉及到:catId自增ID;parentId父ID用于关联;isShow是否表现在前台展示;isFloor是否表现在首页的展示;catName名称;catSort用于首页排序展示;dataFlag删除;createTime时间。
建好后,如下图:
二:背景查察,新增,编辑,删除分类:
下面我们要举行代码的编写,实现B2B2C商城分类的增编削了,以编辑商品分类来演示一下吧,新增,删除和此雷同:
public functionedit(){
$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);
}
}
还可举行多级新增,编辑,删除
三:将背景管理的商品分类在前台展示:
获取商品分类数据,然后表现出来:
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;
}
根据级别的循环展示出来,第一级和第二级关联,和下次级光显的展示关系,配搭上品牌和广告,就表现出首页的效果了。
如许我们便实现了商品分类,实现商品分类并不难,明白思绪明白,就可以实现。
文中干系代码我就不别的贴了,各人有爱好的可以在ShopWT官网下载源代码。 ShopWT(www.shopwt.com)是国内知名商城系统及商城网站建设提供商,其中销客多小程序系统为商家提供小程序商城开发、小程序分销系统、微分销系统、商城系统、电商网站建设、微信分销系统、小程序商城等多端商城及电子商务行业解决方案> 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |