内容模块前端完善
This commit is contained in:
@@ -8,17 +8,39 @@
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\controller\front;
|
||||
|
||||
use think\facade\Db;
|
||||
use \app\model\Category;
|
||||
use \app\model\Model;
|
||||
use \app\model\Content as ContentModel;
|
||||
|
||||
class Content extends Base {
|
||||
|
||||
public $modelInfo = [];
|
||||
public $model = null;
|
||||
|
||||
/**
|
||||
* @title 内容频道页
|
||||
* @return [type] [description]
|
||||
*/
|
||||
public function index() {
|
||||
$param = $this->request->param();
|
||||
$this->setModel();
|
||||
$order = "id desc";
|
||||
$map = [];
|
||||
|
||||
if (isset($param['keyword']) && $param['keyword'] != '') {
|
||||
$map[] = ['title', 'LIKE', '%'.$param['keyword'].'%'];
|
||||
}
|
||||
|
||||
$category = Category::where('model_id', $this->modelInfo['id'])->column("*", "id");
|
||||
|
||||
$list = $this->model->where($map)->order($order)->paginate($this->request->pageConfig);
|
||||
$this->data = [
|
||||
'model' => $this->modelInfo,
|
||||
'category' => $category,
|
||||
'list' => $list,
|
||||
'page' => $list->render()
|
||||
];
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
@@ -27,6 +49,60 @@ class Content extends Base {
|
||||
* @return [type] [description]
|
||||
*/
|
||||
public function lists() {
|
||||
$param = $this->request->param();
|
||||
$this->setModel();
|
||||
$order = "id desc";
|
||||
$map = [];
|
||||
|
||||
$category = Category::where('model_id', $this->modelInfo['id'])->column("*", "id");
|
||||
|
||||
$ids = (new \sent\tree\Tree())->getChilds($category, (int) $param['id']);
|
||||
array_push($ids, (int) $param['id']);
|
||||
|
||||
$map[] = ['category_id', "IN", $ids];
|
||||
if (isset($param['keyword']) && $param['keyword'] != '') {
|
||||
$map[] = ['title', 'LIKE', '%'.$param['keyword'].'%'];
|
||||
}
|
||||
|
||||
$list = $this->model->where($map)->order($order)->paginate($this->request->pageConfig);
|
||||
$this->data = [
|
||||
'model' => $this->modelInfo,
|
||||
'id' => (int) $param['id'],
|
||||
'category' => $category,
|
||||
'list' => $list,
|
||||
'page' => $list->render()
|
||||
];
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* @title 内容详情
|
||||
* @return [type] [description]
|
||||
*/
|
||||
public function detail() {
|
||||
$param = $this->request->param();
|
||||
$this->setModel();
|
||||
|
||||
$map[] = ['id', "=", $param['id']];
|
||||
$detail = $this->model->where($map)->find();
|
||||
|
||||
$pmap = [
|
||||
['category_id', '=', $detail['category_id']],
|
||||
['id', '<', $param['id']]
|
||||
];
|
||||
$prev = Db::name(ucfirst($this->modelInfo['name']))->where($pmap)->order('id desc')->find();
|
||||
$nmap = [
|
||||
['category_id', '=', $detail['category_id']],
|
||||
['id', '>', $param['id']]
|
||||
];
|
||||
$next = Db::name(ucfirst($this->modelInfo['name']))->where($nmap)->order('id asc')->find();
|
||||
|
||||
$this->data = [
|
||||
'model' => $this->modelInfo,
|
||||
'info' => $detail,
|
||||
'prev' => $prev,
|
||||
'next' => $next
|
||||
];
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
@@ -43,15 +119,21 @@ class Content extends Base {
|
||||
* @return [type] [description]
|
||||
*/
|
||||
public function search() {
|
||||
return $this->fetch();
|
||||
}
|
||||
$param = $this->request->param();
|
||||
$list = [];
|
||||
|
||||
if (isset($param['keyword']) && $param['keyword'] != '') {
|
||||
$map[] = ['title', 'LIKE', '%'.$param['keyword'].'%'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @title 内容详情
|
||||
* @return [type] [description]
|
||||
*/
|
||||
public function detail() {
|
||||
$this->data = [
|
||||
"list" => $list
|
||||
];
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
protected function setModel(){
|
||||
$this->modelInfo = Model::where('name', $this->request->param('name'))->find()->append(['grid_list', 'attr_group'])->toArray();
|
||||
$this->model = Db::name($this->modelInfo['name']);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user