yii2分页的基本使用及其配置详解
作者:白狼 出处:http://www.manks.top/yii2_linkpager_pagination.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
先说明下我们本篇文章都要讲哪些内容
分页的使用,一步一步的教你怎么做
分页类LinkPager和Pagination都可以自定义哪些属性
第一步,我们来看看yii2自带的分页类该如何去使用?
1、controller action
use yii\data\Pagination;
$query = Article::find()->where(['status' => 1]);
$countQuery = clone $query;
$pages = new Pagination(['totalCount' => $countQuery->count()]);
$models = $query->offset($pages->offset)->limit($pages->limit)->all();
return $this->render('index', [ 'models' => $models, 'pages' => $pages,
]);
2、View
use yii\widgets\LinkPager;//循环展示数据
foreach ($models as $model) { // ......
}
//显示分页页码
echo LinkPager::widget([ 'pagination' => $pages,
])
代码基本上可以完全拷贝,修改部分数据即可,相信大多数人都是看得懂的。
我们接下来看第二步,自带的分页类都可以定义哪些属性
首先我们说说LinkPager组件
pagination参数必填,这个是我们Pagination类的实例
默认分页类是下面这个样子的(图片见原文)
上下页按钮以及10个按钮
首先,我们把上下页的按钮修改成中文
<?= LinkPager::widget([
'pagination' => $pages, 'nextPageLabel' => '下一页', 'prevPageLabel' => '上一页',
]); ?>
如果你不想要显示上下页,可以将prevPageLabel和nextPageLabel设置为false
<?= LinkPager::widget([
'pagination' => $pages, 'nextPageLabel' => false, 'prevPageLabel' => false,
]); ?>
默认不显示首页也尾页,如果你需要,可以这样设置
<?= LinkPager::widget([
'pagination' => $pages, 'firstPageLabel' => '首页', 'lastPageLabel' => '尾页',
]); ?>
如果你的数据过少,不够2页,默认不显示分页,如果你需要,设置hideOnSinglePage=false即可
<?= LinkPager::widget([
'pagination' => $pages, 'hideOnSinglePage' => false,
]); ?>
默认显示的页码为10页,可以设置maxButtonCount为你想要展示的页数
<?= LinkPager::widget([
'pagination' => $pages, 'maxButtonCount' => 5,
]); ?>
有些人不喜欢默认的样式,想要分页带上自己的样式,可以设置options,不要忘了自行实现pre,next,disabled等样式
<?= LinkPager::widget([
'pagination' => $pages, 'options' => ['class' => 'm-pagination'],
]); ?>
接下来我们谈谈Pagination组件
默认的分页路由是下面这样子的,我们看看能做点什么
/controller/action?page=2&per-page=20
首先,我们是必须要指定总条数totalCount的,没这个参数,分页也是没办法实现的
$pages = new Pagination([
'totalCount' => $totalCount,
]);
[考虑目前国内网站大部分采集文章十分频繁,更有甚者不注明原文出处,原作者更希望看客们查看原文,以防有任何问题不能更新所有文章,避免误导!]
继续阅读
yii2分页的基本使用及其配置详解相关推荐
- php yii 控件分页,Yii2分页的使用及其扩展方法详解
前言: 说明下我们本篇文章都要讲哪些内容 分页的使用,一步一步的教你怎么做 分页类LinkPager和Pagination都可以自定义哪些属性 分页类LinkPager如何扩展成我们所需要的 第一步, ...
- phpstudy的php fpm,PHP_php-fpm配置详解,php5.3自带php-fpm复制代码 代码 - phpStudy
php-fpm配置详解 php5.3自带php-fpm /usr/local/php/etc/php-fpm.conf pid = run/php-fpm.pid pid设置,默认在安装目录中的var ...
- easycode 表配置_idea的easyCode的 MybatisPlus模板的配置详解
EasyCode 插件 EasyCode 插件 是一款根据表结构生成代码的很方便的Idea插件, 强烈推荐. 并且可以自定义模板来控制生成的类 我在使用的过程中发现一些问题,现在把解决办法记录下来, ...
- mybatis基础总结02 -配置详解
二 mybatis配置详解 MyBatis最关键的组成部分是SqlSessionFactory,我们可以从中获取SqlSession, 并执行映射的SQL语句.SqlSessionFactory对象可 ...
- 43. Systemd的Unit配置详解,unit文件位置,优先级,unit类型,unit文件字段详解,Unit/Service/Install字段,添加mysql服务等例子
Systemd的Unit配置详解,unit文件位置和优先级,unit文件类型,unit文件字段详解,[Unit]字段,[Service]字段,[Install]字段,添加服务,创建.service 文 ...
- Redis常用配置详解
目录 1.使用config命令查看和修改配置 2.编辑redis.conf文件修改redis配置 3.redis.conf中常用配置项说明 Redis 的配置文件位于 Redis 安装目录下,文件名为 ...
- 轻量级数据库sqlite,spring boot+sqlite的配置详解 (二)
轻量级数据库sqlite,spring boot+sqlite的配置详解 (二) 轻量级数据库sqlite,spring boot+sqlite的配置详解 (一) 首先,需要创建一个spring bo ...
- elasticsearch-.yml(中文配置详解)
此elasticsearch-.yml配置文件,是在$ES_HOME/config/下 elasticsearch-.yml(中文配置详解) # ======================== El ...
- (ASA) Cisco Web ××× 配置详解 [三部曲之一]
(ASA) Cisco Web ××× 配置详解 [三部曲之一] 注意:本文仅对Web×××特性和配置作介绍,不包含SSL ×××配置,SSL ×××配置将在本版的后续文章中进行介绍. 首先,先来 ...
最新文章
- 脑机相连的狂想,马斯克实现了吗?智源观点:还很遥远
- J.U.C atomic 数组,字段原子操作
- 太阳能板如何串联_太阳能光伏系统单晶和多晶模组的差异?农村家庭自用如何科学选择...
- 关于eclipase出现的problems during content assist报错问题
- Java并发——Java与多线程
- jQuery Mobile_简单的爱情故事
- Linux命令_搜索文件
- android微博表情条,类似新浪微博EditText,可@某人,#插入话题,表情
- 市场app应用类型分类有哪些?app应用管理
- SkyWalking分布式系统应用程序性能监控工具-中
- 匹配,为什么要“共轭”
- 基于spring boot的奖助学金评审系统毕业设计源码031035
- explicit关键字的作用
- Linux入门篇-文件管理
- android 视频录制尺寸裁剪,galleryfinal 实现Android图片单选/多选、拍照、裁剪、压缩。视频选择和录制。...
- 紧急求助!!!!VUE页面,V-SHOW的判断条件改变了但是页面没有实际变化
- 电动汽车,绝缘检测方法
- (二百) omnipeek抓包复习
- 给一个数,判断它是否是素数(质数) 质数:一个大于1的自然数只能被1和它本身整除...
- 南阳理工计算机与科学技术,南阳理工学院计算机科学与技术咋样