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的控制语句
Oct 09 PHP
echo(),print(),print_r()之间的区别?
Nov 19 PHP
php代码收集表单内容并写入文件的代码
Jan 29 PHP
修改PHP的memory_limit限制的方法分享
Feb 21 PHP
php排序算法(冒泡排序,快速排序)
Oct 09 PHP
解析在apache里面给php写虚拟目录的详细方法
Jun 24 PHP
探讨:web上存漏洞及原理分析、防范方法
Jun 29 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
php保存任意网络图片到服务器的方法
Apr 14 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 PHP
浅谈PHP5.6 与 PHP7.0 区别
Oct 09 PHP
php png失真的原因及解决办法
Oct 24 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
基于mysql的论坛(2)
2006/10/09 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
jquery创建一个ajax关键词数据搜索实现思路
2013/02/26 Javascript
动态加载JS文件的三种方法
2013/11/08 Javascript
JavaScript实现的链表数据结构实例
2015/04/02 Javascript
JavaScript控制按钮可用或不可用的方法
2015/04/03 Javascript
javascript中字体浮动效果的简单实例演示
2015/11/18 Javascript
理解javascript正则表达式
2016/03/08 Javascript
JS实现星星评分功能实例代码(两种方法)
2016/06/09 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
jQuery文字轮播特效
2017/02/12 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
JavaScript中数组常见操作技巧
2017/09/01 Javascript
详解基于DllPlugin和DllReferencePlugin的webpack构建优化
2018/06/28 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
如何基于javascript实现贪吃蛇游戏
2020/02/09 Javascript
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
js实现简单图片拖拽效果
2021/02/22 Javascript
[01:53]3.19 DOTA2发布会 现场精彩Coser表演
2014/03/25 DOTA
python实现的udp协议Server和Client代码实例
2014/06/04 Python
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
2019/02/13 Python
Python中使用__new__实现单例模式并解析
2019/06/25 Python
微信小程序之html5 canvas绘图并保存到系统相册
2019/06/20 HTML / CSS
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
美国轻奢时尚购物网站:REVOLVE(支持中文)
2020/07/18 全球购物
法学专业毕业生自荐信范文
2013/12/18 职场文书
竞聘上岗演讲稿范文
2014/01/10 职场文书
文化宣传方案
2014/03/13 职场文书
2015年端午节活动方案
2015/05/05 职场文书
初中军训感想
2015/08/07 职场文书
详解使用 CSS prefers-* 规范提升网站的可访问性与健壮性
2021/05/25 HTML / CSS
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL