Exemplo n.º 1
0
 /**
  * 店铺筛选列表 (只查询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();
 }
Exemplo n.º 2
0
 /**
  * 店铺属性更新接口
  * @param int $id		店铺ID
  * @param array $vals	属性值id数组
  */
 public function attrUpdate($id, $vals = array())
 {
     $id = (int) $id;
     if ($id <= 0) {
         $this->error('店铺非法');
     }
     if (!is_array($vals)) {
         $this->error('属性非法');
     }
     $model = new StoreAttrModel();
     if (false === $model->update($id, $vals)) {
         $this->error($model->getError());
     }
     $this->success('更新成功');
 }