thinkPHP5分页功能实现方法分析


Posted in PHP onOctober 25, 2017

本文实例讲述了thinkPHP5分页功能实现方法。分享给大家供大家参考,具体如下:

其实分页自身的内容也不是很多。不过牵扯到样式的问题感觉挺烦。于是找到了分页类看了一下。把大体的结构说一下。如果有需要修改页面样式的可以自行修改样式。最好提前备份,防止意外。

首先是分页的调用,tp5的调用相对非常容易

$mod = new \app\index\model\Blogmsg();
$mo = $mod->paginate(1,14);
$this->assign('list', $mo);
// 渲染模板输出
return $this->fetch('list');
//模板方面
<div>
<ul>
{volist name='list' id='user'}
<li> {$user.nickname}</li>
{/volist}
</ul>
</div>
{$list->render()}

函数的第一个参数是每一页显示几个,第二个参数是总共显示多少页。

(本来有10页,你只写5页,那么6-10页是不会显示的,但是地址栏该参数还是可以跳转过去获取对应的内容…)

thinkPHP5分页功能实现方法分析

默认的是这样的效果。不过这是在bootstrap模板下才有的效果。专门根据bootstrap的特点做的命名。

也就是说,在其他的模板下,只是单纯的数字。

分页的文件的位置在thinkphp\library\think\paginator里。
driver里有一个分页样式的原版。直接改不利于后期维护。而且tp5也给你一个非常方便的修改方法。文件夹内源文件复制粘贴重新命名。然后改一句话class Bootstrap extends Paginator中的Bootstrap改成文件的名字。再去config.php里找到分页相关的配置。

'type' => 'bootstrap',改成你的文件名字。就可以直接调用了。

我把几个牵扯到样式的函数名称列出来,简单的说一下存在的意义。

render()渲染分页,大白话就是这个分页类的主体。

return sprintf(
  '<ul class="pagination">%s %s %s</ul>',
  $this->getPreviousButton(),
  $this->getLinks(),
  $this->getNextButton()
);

这里就牵扯到css的样式,可以根据自己的需要替换。

页码自身没有首页和尾页单项。(但是函数为你提供了尾页的值)
可以自己去做一个填写。复制getNextButton()进行相关的修改就可以了。

getNextButton()函数里会看见另外两个函数

getAvailablePageWrapper(url,page)getDisabledTextWrapper($text)

刚刚的渲染函数是可以理解为箱体,这两个函数可以理解为按钮了。想改样式在这里该就行了。能做到这里的都不会有太大的问题。

getLinks()则是管中间的。看代码基本是也能看出来大体意思。修改分页基本从这些地方着手就可以了。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
七款最流行的PHP本地服务器分享
Feb 19 PHP
php获取系统变量方法小结
May 29 PHP
PHP register_shutdown_function()函数的使用示例
Jun 23 PHP
PHP实现删除字符串中任何字符的函数
Aug 11 PHP
PHP邮件群发机实现代码
Feb 16 PHP
php项目开发中用到的快速排序算法分析
Jun 25 PHP
php 解决substr()截取中文字符乱码问题
Jul 18 PHP
PHP合并数组函数array_merge用法分析
Feb 17 PHP
数组任意位置插入元素,删除特定元素的实例
Mar 02 PHP
PHP SFTP实现上传下载功能
Jul 26 PHP
Laravel框架用户登陆身份验证实现方法详解
Sep 14 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
Dec 21 PHP
thinkPHP框架中执行原生SQL语句的方法
Oct 25 #PHP
php调用云片网接口发送短信的实现方法
Oct 25 #PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
Oct 25 #PHP
Laravel学习教程之request validation的编写
Oct 25 #PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
Oct 24 #PHP
Yii2.0实现生成二维码功能实例
Oct 24 #PHP
完美的php分页类
Oct 24 #PHP
You might like
PHP程序级守护进程的实现与优化的使用概述
2013/05/02 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
Yii2结合Workerman的websocket示例详解
2018/09/10 PHP
PHP合并两个或多个数组的方法
2019/01/20 PHP
JavaScript 参考教程
2006/12/29 Javascript
JqGrid web打印实现代码
2011/05/31 Javascript
JavaScript基础知识之数据类型
2012/08/06 Javascript
javascript表单验证使用示例(javascript验证邮箱)
2014/01/07 Javascript
省市选择的简单实现(基于zepto.js)
2016/06/21 Javascript
Bootstrap Search Suggest使用例子
2016/12/21 Javascript
js实现tab切换效果
2017/02/16 Javascript
jQuery实现可拖动进度条实例代码
2017/06/21 jQuery
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
Python入门之三角函数sin()函数实例详解
2017/11/08 Python
Python模拟登录的多种方法(四种)
2018/06/01 Python
解决Pandas的DataFrame输出截断和省略的问题
2019/02/08 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
使用Django清空数据库并重新生成
2020/04/03 Python
详解Python高阶函数
2020/08/15 Python
使用HTML5做个画图板的方法介绍
2013/05/03 HTML / CSS
2019史上最全Database工程师题库
2015/12/06 面试题
标记环介质访问控制协议
2016/03/27 面试题
师范生个人推荐信
2013/11/29 职场文书
运动会通讯稿500字
2014/02/20 职场文书
优秀语文教师事迹
2014/05/18 职场文书
物流管理系毕业生求职信
2014/06/03 职场文书
团日活动总结模板
2014/06/25 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
简历自荐信范文
2015/03/09 职场文书
丧事主持词
2015/07/02 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书
分析SQL窗口函数之取值窗口函数
2022/04/21 Oracle