作者:白狼 出处:http://www.manks.top/yii2_linkpager_pagination.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

先说明下我们本篇文章都要讲哪些内容

  1. 分页的使用,一步一步的教你怎么做

  2. 分页类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分页的基本使用及其配置详解相关推荐

  1. php yii 控件分页,Yii2分页的使用及其扩展方法详解

    前言: 说明下我们本篇文章都要讲哪些内容 分页的使用,一步一步的教你怎么做 分页类LinkPager和Pagination都可以自定义哪些属性 分页类LinkPager如何扩展成我们所需要的 第一步, ...

  2. 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 ...

  3. easycode 表配置_idea的easyCode的 MybatisPlus模板的配置详解

    EasyCode 插件 EasyCode 插件 是一款根据表结构生成代码的很方便的Idea插件, 强烈推荐. 并且可以自定义模板来控制生成的类 我在使用的过程中发现一些问题,现在把解决办法记录下来, ...

  4. mybatis基础总结02 -配置详解

    二 mybatis配置详解 MyBatis最关键的组成部分是SqlSessionFactory,我们可以从中获取SqlSession, 并执行映射的SQL语句.SqlSessionFactory对象可 ...

  5. 43. Systemd的Unit配置详解,unit文件位置,优先级,unit类型,unit文件字段详解,Unit/Service/Install字段,添加mysql服务等例子

    Systemd的Unit配置详解,unit文件位置和优先级,unit文件类型,unit文件字段详解,[Unit]字段,[Service]字段,[Install]字段,添加服务,创建.service 文 ...

  6. Redis常用配置详解

    目录 1.使用config命令查看和修改配置 2.编辑redis.conf文件修改redis配置 3.redis.conf中常用配置项说明 Redis 的配置文件位于 Redis 安装目录下,文件名为 ...

  7. 轻量级数据库sqlite,spring boot+sqlite的配置详解 (二)

    轻量级数据库sqlite,spring boot+sqlite的配置详解 (二) 轻量级数据库sqlite,spring boot+sqlite的配置详解 (一) 首先,需要创建一个spring bo ...

  8. elasticsearch-.yml(中文配置详解)

    此elasticsearch-.yml配置文件,是在$ES_HOME/config/下 elasticsearch-.yml(中文配置详解) # ======================== El ...

  9. (ASA) Cisco Web ××× 配置详解 [三部曲之一]

    (ASA) Cisco Web ××× 配置详解 [三部曲之一] 注意:本文仅对Web×××特性和配置作介绍,不包含SSL ×××配置,SSL ×××配置将在本版的后续文章中进行介绍.   首先,先来 ...

最新文章

  1. 脑机相连的狂想,马斯克实现了吗?智源观点:还很遥远
  2. J.U.C atomic 数组,字段原子操作
  3. 太阳能板如何串联_太阳能光伏系统单晶和多晶模组的差异?农村家庭自用如何科学选择...
  4. 关于eclipase出现的problems during content assist报错问题
  5. Java并发——Java与多线程
  6. jQuery Mobile_简单的爱情故事
  7. Linux命令_搜索文件
  8. android微博表情条,类似新浪微博EditText,可@某人,#插入话题,表情
  9. 市场app应用类型分类有哪些?app应用管理
  10. SkyWalking分布式系统应用程序性能监控工具-中
  11. 匹配,为什么要“共轭”
  12. 基于spring boot的奖助学金评审系统毕业设计源码031035
  13. explicit关键字的作用
  14. Linux入门篇-文件管理
  15. android 视频录制尺寸裁剪,galleryfinal 实现Android图片单选/多选、拍照、裁剪、压缩。视频选择和录制。...
  16. 紧急求助!!!!VUE页面,V-SHOW的判断条件改变了但是页面没有实际变化
  17. 电动汽车,绝缘检测方法
  18. (二百) omnipeek抓包复习
  19. 给一个数,判断它是否是素数(质数) 质数:一个大于1的自然数只能被1和它本身整除...
  20. 南阳理工计算机与科学技术,南阳理工学院计算机科学与技术咋样

热门文章

  1. EMC:欲占企业数据中心市场大半江山
  2. 2011 年最重要的 10 个开源软件
  3. Spark学习之简介
  4. android adb命令,向开发手机添加文件
  5. 记录猫眼电影的自定义字体反爬
  6. LCUI.css 0.1.2 发布, 基于 LCUI 开发的 UI 组件库
  7. 33 个 2017 年必须了解的 iOS/swift 开源库第三方库
  8. sharepoint 2013 使用outlook 打开sharepoint 任务失败
  9. Swift 高级运算符
  10. 汉语是世界上唯一一种面向对象的高级语言