From 87533013c624aa80ef231b9e3dc9fd795a1eb42e Mon Sep 17 00:00:00 2001 From: molong Date: Fri, 15 Jul 2016 12:14:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=80=E4=B8=AA=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E5=88=97=E8=A1=A8=E9=A1=B5=EF=BC=88=E5=8F=AA=E4=BB=A5?= =?UTF-8?q?=E6=A0=8F=E7=9B=AEID=E4=B8=BA=E6=9F=A5=E8=AF=A2=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=EF=BC=8C=E5=8F=AF=E7=8E=B0=E5=AE=9E=E6=89=80=E6=9C=89?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E7=B1=BB=E5=9E=8B=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/common/behavior/InitHook.php | 1 + application/index/controller/Content.php | 78 ++++++++++++++++-------- 2 files changed, 55 insertions(+), 24 deletions(-) diff --git a/application/common/behavior/InitHook.php b/application/common/behavior/InitHook.php index 8bcdf19e..a9c359d9 100644 --- a/application/common/behavior/InitHook.php +++ b/application/common/behavior/InitHook.php @@ -64,6 +64,7 @@ class InitHook { $route[$value['name']."/index"] = "index/content/index?model=".$value['name']; $route[$value['name']."/list/:id"] = "index/content/lists?model=".$value['name']; $route[$value['name']."/detail/:id"] = "index/content/detail?model_id=".$value['id']; + $route["/list/:id"] = "index/content/category"; $route["user/".$value['name']."/index"] = "user/content/index?model_id=".$value['id']; $route["user/".$value['name']."/add"] = "user/content/add?model_id=".$value['id']; $route["user/".$value['name']."/edit"] = "user/content/edit?model_id=".$value['id']; diff --git a/application/index/controller/Content.php b/application/index/controller/Content.php index e6f6bc45..354085aa 100644 --- a/application/index/controller/Content.php +++ b/application/index/controller/Content.php @@ -12,30 +12,9 @@ use app\common\controller\Fornt; class Content extends Fornt{ - public function _initialize(){ - parent::_initialize(); - $model_name = $this->request->param('model'); - $model_id = $this->request->param('model_id'); - $row = db('Model')->select(); - foreach ($row as $key => $value) { - $name_list[$value['name']] = $value; - $id_list[$value['id']] = $value; - } - - if (empty($name_list[$model_name]) && empty($id_list[$model_id])) { - return $this->error("无此模型!"); - }else { - $this->modelInfo = $model_name ? $name_list[$model_name] : $id_list[$model_id]; - if ($this->modelInfo['extend'] > 1) { - $this->model = model($this->modelInfo['name']); - }else{ - $this->model = model('Document')->extend($this->modelInfo['name']); - } - - $this->assign('model_id',$this->modelInfo['id']); - $this->assign('model_list',$name_list); - } - } + protected $beforeActionList = array( + 'setModel' => array('except' => 'category') + ); //模块频道首页 public function index(){ @@ -110,6 +89,33 @@ class Content extends Fornt{ return $this->fetch($teamplate); } + public function category(){ + $id = $this->request->param('id'); + if (!$id) { + return $this->error("非法操作"); + } + $cate = $this->getCategory($id); + + $map = array(); + + $order = "id desc"; + $list = model('Document')->where($map)->order($order)->paginate(15); + + $data = array( + 'list' => $list, + 'cate' => $cate, + 'page' => $list->render() + ); + if ($cate['template_lists']) { + $teamplate = 'content/'.$cate['template_lists']; + }else{ + $teamplate = 'content/list'; + } + $this->setSeo($cate['title']); + $this->assign($data); + return $this->fetch($teamplate); + } + //模块内容详情页 public function detail($id = '', $name = ''){ //当为文章模型时 @@ -145,4 +151,28 @@ class Content extends Fornt{ $data = db('Category')->find($id); return $data; } + + protected function setModel(){ + $model_name = $this->request->param('model'); + $model_id = $this->request->param('model_id'); + $row = db('Model')->select(); + foreach ($row as $key => $value) { + $name_list[$value['name']] = $value; + $id_list[$value['id']] = $value; + } + + if (empty($name_list[$model_name]) && empty($id_list[$model_id])) { + return $this->error("无此模型!"); + }else { + $this->modelInfo = $model_name ? $name_list[$model_name] : $id_list[$model_id]; + if ($this->modelInfo['extend'] > 1) { + $this->model = model($this->modelInfo['name']); + }else{ + $this->model = model('Document')->extend($this->modelInfo['name']); + } + + $this->assign('model_id',$this->modelInfo['id']); + $this->assign('model_list',$name_list); + } + } } \ No newline at end of file