diff --git a/app/common/Bootstrap.php b/app/common/Bootstrap.php new file mode 100644 index 0000000..f622d30 --- /dev/null +++ b/app/common/Bootstrap.php @@ -0,0 +1,21 @@ +options['url'], ['page' => $page]); + } +} diff --git a/app/index/controller/BaseController.php b/app/index/controller/BaseController.php index 1616587..7277cdd 100644 --- a/app/index/controller/BaseController.php +++ b/app/index/controller/BaseController.php @@ -3,17 +3,18 @@ namespace app\index\controller; use app\BaseController as AppBaseController; -use think\facade\Config; -use think\facade\View; -use think\helper\Str; +use app\common\Bootstrap; +use think\Paginator; class BaseController extends AppBaseController { - - public function initialize() { parent::initialize(); + Paginator::maker(function($items, $listRows, $currentPage, $total, $simple, $options){ + return new Bootstrap($items, $listRows, $currentPage, $total, $simple, $options); + }); + } } diff --git a/app/index/controller/Index.php b/app/index/controller/Index.php index dea95c8..5d3c5be 100644 --- a/app/index/controller/Index.php +++ b/app/index/controller/Index.php @@ -3,10 +3,8 @@ namespace app\index\controller; use app\model\Category; -use app\model\Nav; use app\model\Post; use app\model\PostCategory; -use think\facade\Route; use think\facade\View; use think\Request; @@ -23,45 +21,45 @@ class Index extends Common $sub_category = []; $current_category = []; - if(!empty($this->request->param('category_id'))){ - $sub_category = Category::where('pid',$this->request->param('category_id'))->where('type',3)->select(); + if (!empty($this->request->param('category_id'))) { + $sub_category = Category::where('pid', $this->request->param('category_id'))->where('type', 3)->select(); $current_category = Category::find($this->request->param('category_id')); - if(empty($this->request->param('sub_category_id'))){ + if (empty($this->request->param('sub_category_id'))) { $categorys = [$this->request->param('category_id')]; - $categorys = array_merge($categorys,array_column((array)Category::getListLevel($this->request->param('category_id')),3)); + $categorys = array_merge($categorys, array_column((array)Category::getListLevel($this->request->param('category_id')), 3)); - $categorys_where = PostCategory::whereIn('category_id',$categorys); - - $model_post = Post::hasWhere('categorys',$categorys_where)->where('status',1)->order('id desc'); - }else{ - $model_post = Post::hasWhere('categorys',['category_id'=>$this->request->param('sub_category_id')])->where('status',1)->order('id desc'); + $categorys_where = PostCategory::whereIn('category_id', $categorys); + $model_post = Post::hasWhere('categorys', $categorys_where)->where('status', 1)->order('id desc'); + } else { + $model_post = Post::hasWhere('categorys', ['category_id' => $this->request->param('sub_category_id')])->where('status', 1)->order('id desc'); } - }else{ + } else { - $model_post = Post::where('status',1)->order('id desc'); + $model_post = Post::where('status', 1)->order('id desc'); } - - $model_post->where('type',3); + + $model_post->where('type', 3); $keywords = $this->request->param('keywords'); - if(!empty($keywords)){ - $model_post->whereLike('title|desc',"%$keywords%"); + if (!empty($keywords)) { + $model_post->whereLike('title|desc', "%$keywords%"); } - $list_post = $model_post->paginate(); - View::assign('current_category',$current_category); - View::assign('sub_category',$sub_category); + $list_post = $model_post->paginate(['url' => 'Index/index']); - View::assign('list_post',$list_post); + View::assign('current_category', $current_category); + View::assign('sub_category', $sub_category); + + View::assign('list_post', $list_post); return View::fetch(); } - + /** * 显示创建资源表单页. * diff --git a/app/model/Post.php b/app/model/Post.php index 15bd16d..5b592e6 100644 --- a/app/model/Post.php +++ b/app/model/Post.php @@ -6,6 +6,7 @@ namespace app\model; use think\Model; use think\model\concern\SoftDelete; +use think\Paginator; /** * @mixin think\Model @@ -143,4 +144,5 @@ class Post extends Model return $url_info['scheme'].'://'.$url_info['host'].'/a'.$this->getData('uid').'.html'; } + } diff --git a/view/index/index/index.html b/view/index/index/index.html index a1f2a9b..d5d7974 100644 --- a/view/index/index/index.html +++ b/view/index/index/index.html @@ -86,6 +86,7 @@ {/empty} + {$list_post->render()|raw}