* 栏目管理 */ namespace app\citys\controller; use app\citys\controller\Common; use app\citys\model\CitysCate; use app\citys\model\Citys; use app\citys\model\CitysTpl; class Cate extends Common{ public function initialize() { parent::initialize(); $this->assign('pathMaps',[['name'=>'信息分类','url'=>url("citys/cate/index")]]); } /** * 列表 */ public function index(){ $view['lists'] = CitysCate::where(['member_miniapp_id' => $this->member_miniapp_id])->order('sort desc,id desc')->paginate(20); $view['tabs'] = [ ['name' => '主题管理','url' => url('citys/cate/index'),'action' => 1], ['name' => '模板库','url' => url('citys/tpl/index')], ['name' => '应用设置','url' => url('citys/setting/info')], ]; return view()->assign($view); } /** * 添加 */ public function add(){ if(request()->isAjax()){ $data = [ 'member_miniapp_id' => $this->member_miniapp_id, 'title' => $this->request->param('title/s'), 'name' => $this->request->param('name/s'), 'sort' => $this->request->param('sort/d'), 'phone' => $this->request->param('phone/f'), 'price' => $this->request->param('price/f'), 'tpl_id' => $this->request->param('tpl_id/d',0), 'picture' => $this->request->param('picture/s') ]; $validate = $this->validate($data,'Cate.add'); if(true !== $validate){ return json(['code'=>0,'msg'=>$validate]); } $result = CitysCate::edit($data); if($result){ return json(['code'=>200,'url'=>url('"citys/cate/index'),'msg'=>'操作成功']); }else{ return json(['code'=>0,'msg'=>'操作失败']); } }else{ $view['tpl'] = CitysTpl::where($this->mini_program)->order('id asc')->select(); return view('add',$view); } } //编辑 public function edit(){ if(request()->isAjax()){ $data = [ 'id' => $this->request->param('id/s'), 'title' => $this->request->param('title/s'), 'name' => $this->request->param('name/s'), 'sort' => $this->request->param('sort/d'), 'phone' => $this->request->param('phone/f'), 'price' => $this->request->param('price/f'), 'tpl_id' => $this->request->param('tpl_id/d'), 'picture' => $this->request->param('picture/s'), ]; $validate = $this->validate($data,'Cate.edit'); if(true !== $validate){ return json(['code'=>0,'msg'=>$validate]); } if($data['tpl_id']){ $tpl = CitysTpl::where($this->mini_program)->where(['id'=>$data['tpl_id']])->field('fields')->find(); $data['fields'] = empty($tpl)?'[]' : $tpl->fields; }else{ $data['fields'] = '[]'; } //exit(); $result = CitysCate::edit($data); if($result){ return json(['code'=>200,'url'=>url('"citys/cate/index'),'msg'=>'操作成功']); }else{ return json(['code'=>0,'msg'=>'操作失败']); } }else{ $view['id'] = $this->request->param('id/d',0); $view['info']= CitysCate::where($this->mini_program)->where(['id' => $view['id']])->find(); $view['tpl'] = CitysTpl::where($this->mini_program)->order('id asc')->select(); return view('edit',$view); } } /** * 排序 */ public function sort(){ if(request()->isAjax()){ $data = [ 'sort' => $this->request->param('sort/d'), 'id' => $this->request->param('id/d'), ]; $validate = $this->validate($data,'Cate.sort'); if(true !== $validate){ return json(['code'=>0,'msg'=>$validate]); } $result = CitysCate::update(['sort'=>$data['sort'],'id' => $data['id']]); if($result){ return enjson(200); }else{ return enjson(0); } } } //删除 public function delete(){ $id = $this->request->param('id/d'); $info = citys::where(['cate_id' => $id])->count(); if($info){ return enjson(0,'删除失败,栏目中还包含内容'); } $result = CitysCate::where(['id'=>$id,'member_miniapp_id' => $this->member_miniapp_id])->delete(); if($result){ return enjson(200); }else{ return enjson(0); } } }