Yii2.0自定义分页方法
Yii2.0的分页方法有两种,
第一种是调用自带的分页组件,以及渲染组件,
第二种则是半调用,仍然调用分页组件但可以自己渲染views页面
方法一:使用ActiveDataProvider 和 GridView
public function actionIndex(){ $dataProvider = new ActiveDataProvider([ "query" => ArticleClass::find(), "pagination" => [ "pagesize" => "2", ] ]); return $this->render("index", [ "dataProvider" => $dataProvider, ]); }
只需要在action中添加pagination属性指明pagesize参数即可,view使用GridView,效果如下
方法二:控制器中引入分页类,并在views中引入分页渲染
controller中:
use yiidataPagination; public function actionIndex(){ $query = ArticleClass::find(); $countQuery = clone $query; $pageSize = 2; $pages = new Pagination(["totalCount" => $countQuery->count(),"pageSize" => $pageSize]); $models = $query->offset($pages->offset) ->limit($pages->limit) ->all(); return $this->render("index", [ "models" => $models, "pages" => $pages, ]); }
view中:
use yiiwidgetsLinkPager; <?php //循环展示数据 foreach ($models as $model) { echo "<li>".$model["class_name"]."</li>"; } ?> <?= LinkPager::widget([ "pagination" => $pages, "nextPageLabel" => "下一页", "prevPageLabel" => "上一页", "firstPageLabel" => "首页", "lastPageLabel" => "尾页", ]); ?>
效果如下:
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: YII2.0框架分页
- 下一篇: Yii2 SqlDataProvider 原生sql 执行sql