1.修改商品模型中search方法把分类搜索再添加上扩展分类的代码
在商品模型中添加一个方法:根据分类ID搜索分类下所有商品ID
在GoodsModel.class.php中:
public function getGoodsIdByCatId($catId){
//先取出所有子分类的ID
$catModel=D('category');
$children=$catModel->getChildren($catId);
//和子分类放在一起
$children[]=$catId;
$children= implode(',', $children);
/**取出主分类或者扩展分类在这些分类中商品 **/
$this->field('id')->where(array(
'cat_id'=>array('in',$children),
))->select();
}
具体步骤:
public function getGoodsIdByCatId($catId){
//先取出所有子分类的ID
$catModel=D('category');
$children=$catModel->getChildren($catId);
//和子分类放在一起
$children[]=$catId;
// $children= implode(',', $children);
/**取出主分类或者扩展分类在这些分类中商品 **/
$gids=$this->field('id')->where(array(
//1.取出主分类下商品id
'cat_id'=>array('in',$children),
))->select();
//1.取出扩展分类下商品id
$gcModel=D('goods_cat');
$gids1=$gcModel->fields('DISTINCT goods_id id')->where(array(
'cat_id'=>array('IN',$children)
))->select();
//$sql="SELECT DISTINCT goods_id FROM p39_goods_cat WHERE cat_id IN($children)";
//合并数组
$gids= array_merge($gids,$gids1);
//二维转一维
$id=array();
foreach($gids as $k=>$v){
if(!in_array($v['id'], $id))
$id[]=$v['id'];
}
return $id;
// var_dump($id);
// die;
}