🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 接口情况 作者:ncgis 时间:20150506 作用:搜索商品 返回商品列表 提交方法:GET 提交参数 ~~~ pagesize:翻页每页数据条数 默认10条[可选] page:请求页第几页 默认1[可选] name:搜索商品的名称[可选] cat_id:商品分类[可选] ~~~ 所在文件:productclassify 接口地址:http://test.lingsq.com/index.php/api?method=lingsqapi.api.productclassify.getProductList&pagesize=[pagesize]&page=[page]&name=[name]&cat_id=[cat\_id] 正式地址:http://www.lingsq.com/index.php/api?method=lingsqapi.api.productclassify.getProductList&pagesize=[pagesize]&page=[page]&name=[name]&cat_id=[cat\_id] 返回数据样式: ~~~ {"data":{"item":[{"name":"\u5fb7\u56fd\u725b\u5976","goods_id":"199","price":"0.100","weight":"180.000","units":"kg","pic":"http:\/\/test.lingsq.com\/public\/images\/store76\/a3\/44\/fb\/e93d56a377b5070ac8aed25cfb2e76f4.jpg?1431584347#h"}],"total":1,"page":1},"errNo":1,"errMsg":"ok","res":""} ~~~ 数据解释: ~~~ page:当前页 total:总页数 goods_id:商品id name:商品名 price:价格 pic:图片 units:计价单位 weight:计价数量 ~~~ ## 实现代码 ~~~ /** * @作者:ncgis * @时间:20150420 * @作用:搜索商品 返回商品列表 * @提交方法:GET * @pagesize:翻页每页数据条数 默认6条[可选] * page:请求页第几页 默认1[可选] * name:搜索商品的名称[可选] * cat_id:商品分类[可选] * */ public function getProductList() { $goodtable= app::get('b2c')->model('goods'); $page=empty($_GET["page"])?1:intval($_GET["page"]); $pagesize=empty($_GET["pagesize"])?10:intval($_GET["pagesize"]); $offset = ($page-1)*$pagesize; //此处为封装筛选条件 $filter 是商品的过滤条件 $filter2 分类的过滤条件 $filter["marketable"]="true"; if(!empty($_GET["cat_id"])) { $array[]=$_GET["cat_id"]; $this->GetChildenCat($_GET["cat_id"],$array); $filter["cat_id|in"]= $array;//分类 } if(!empty($_GET["name"])) { $filter["name|has"]=$_GET["name"]; //名称 } //分页设置 $re["data"]["item"]=$goodtable->getList("name,goods_id,price,weight,units,image_default_id",$filter,$offset,$pagesize); $count=$goodtable->count($filter); $total=ceil($count/$pagesize); $objImage = kernel::single('base_storager'); foreach($re["data"]["item"]as $key=>$v) { $re["data"]["item"][$key]["units"]=empty($re["data"]["item"][$key]["units"])?"g":$re["data"]["item"][$key]["units"]; //$re["data"]["item"][$key]["pic"]["l"]=$objImage->image_path($v["image_default_id"],'l'); $re["data"]["item"][$key]["pic"]=$objImage->image_path($v["image_default_id"],'m'); //$re["data"]["item"][$key]["pic"]["s"]=$objImage->image_path($v["image_default_id"],'s'); unset($re["data"]["item"][$key]["image_default_id"]); } $re["data"]["total"]=$total; $re["data"]["page"]=$page; $re['errNo'] = 1; $re['errMsg'] = $this->errMsg($re['errNo']); return $re; } function GetChildenCat($cat_id,&$catarray) { $mdl_goodsCat = app::get('b2c')->model('goods_cat'); $filter["hidden"]="false"; $filter["parent_id"]=$cat_id; $num=$mdl_goodsCat->count($filter); if($num>=1) { $array=$mdl_goodsCat->getList("cat_id",$filter); foreach($array as $key=>$v) { $catarray[]=$v["cat_id"]; $this->GetChildenCat($v["cat_id"],$catarray); } } } /** * @作用 搜索商品 返回商品列表 完成 **/ ~~~