/** * 店铺筛选列表 (只查询status=1的) * @param $id 店铺ID编号 * @param $keyword like 店铺名称 store_name || 商品名称 goods_name * @param $attrs 筛选属性值id 以,间隔 * @param $recom 是否推荐 * @param $close 是否暂停营业 * @param $minsd 起送价 */ public function lists($id = null, $keyword = null, $attrs = null, $minsd = null) { //筛选属性id为1的所有属性值 $attrval_M = new Model('AttrVal'); $attrval = $attrval_M->where("attr_id=1 AND status=1")->order("sort asc,id desc")->getField("id,attr_val"); $this->assign('attrval', $attrval); //筛选分类 $model = new Model('Store'); $map = array(); $order = 'is_recom DESC, sort ASC, id ASC'; //查询条件 处理 $map['status'] = array('EGT', 0); if (isset($keyword)) { $this->assign('so_keyword', $keyword); $so_map = array(); $so_map['_logic'] = 'or'; //匹配店铺名称 $so_map['store_name'] = array('like', '%' . $keyword . '%'); //匹配商品名称 $goods_M = new Model('Goods'); $so_goods_map = array('goods_name' => array('like', '%' . $keyword . '%'), 'status' => 1); $so_goods_store_ids = $goods_M->where($so_goods_map)->getField('store_id', true); $so_goods_store_ids = array_unique($so_goods_store_ids); if (!empty($so_goods_store_ids)) { $so_map['id'] = array('in', $so_goods_store_ids); } $map['_complex'] = $so_map; } $map['is_close'] = '0'; $minsd = (int) $minsd; if ($minsd > 0) { $map['min_send'] = array('ELT', $minsd); //起送价 } /******************/ if (isset($attrs)) { $attrs = explode(',', $attrs); $StoreAttr_M = new StoreAttrModel(); $tmp_store_ids = $StoreAttr_M->getStoreByAttr($attrs); if (!empty($tmp_store_ids)) { $map['id'] = array('in', $tmp_store_ids); $list = $model->where($map)->order($order)->select(); //$list = $this->_lists($model,$map,$order); } else { $list = array(); } } else { $list = $model->where($map)->order($order)->select(); //$list = $this->_lists($model,$map,$order); } $this->assign('list', $list); //列表 // 记录当前列表页的cookie cookie(C('CURRENT_URL_NAME'), $_SERVER['REQUEST_URI']); $this->display(); }
/** * 店铺筛选列表 * @param $status 状态 * @param $id 店铺ID编号 * @param $name 店铺名称 store_name * @param $account 帐号 * @param $attrs 筛选属性值 以,间隔 * @param $recom 是否推荐 * @param $close 是否暂停营业 * @param $minsd 起送价 */ public function lists($status = null, $id = null, $name = null, $account = null, $attrs = null, $recom = null, $close = null) { $model = new StoreModel(); $map = array(); $status_view = array('default' => '所有', 'del' => '已删除', 'forbid' => '禁用', 'allow' => '正常'); //查询条件 处理 $map['id'] = (int) $id; $now_status = $status_view['default']; if (!isset($id) || $map['id'] <= 0) { unset($map['id']); if (isset($status) && key_exists($status, CategoryModel::$mystat)) { //指定查询状态 $map['status'] = CategoryModel::$mystat[$status]; $now_status = $status_view[$status]; } else { $map['status'] = array('EGT', 0); //默认查询状态为未删除的数据 } if (isset($name)) { $map['store_name'] = array('like', '%' . $name . '%'); } if (isset($account)) { $map['account'] = array('like', '%' . $account . '%'); } if (isset($attrs)) { $attrs = explode(',', $attrs); $StoreAttr_M = new StoreAttrModel(); $tmp_store_ids = $StoreAttr_M->getStoreByAttr($attrs); $map['id'] = array('in', $tmp_store_ids); } if (isset($recom)) { $map['is_recom'] = in_array($recom, StoreModel::$recom) ? $recom : 1; } if (isset($close)) { $map['is_close'] = in_array($close, StoreModel::$close) ? $close : 1; } $map['min_send'] = array('EGT', (int) I('minsd')); //起送价 } /******************/ $list = $this->_lists($model, $map); $this->assign('list', $list); //列表 $this->assign('now_status', $now_status); //当前页面筛选的状态 // 记录当前列表页的cookie cookie(C('CURRENT_URL_NAME'), $_SERVER['REQUEST_URI']); $this->display(); }