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
