首页 php教程 php手册 thinkphp 分页类介绍

thinkphp 分页类介绍

Jun 21, 2016 am 08:47 AM
config header page public

thinkphp 中的分页类在我看来还是很强大的,使用起来也是很方便的。只要传总的条数,和每页显示的条数,还有样式配置数组,你就可以轻松显示分页,而且可以方便的调整前台页数代码的样式。


下面介绍一下一些配置参数:

public $firstRow; // 起始行数
public $listRows; // 列表每页显示行数
public $parameter; // 分页跳转时要带的参数
public $totalRows; // 总行数
public $totalPages; // 分页总页面数
public $rollPage = 11;// 分页栏每页显示的页数
public $lastSuffix = true; // 最后一页是否显示总页数


private $p = 'p'; //分页参数名
private $url = ''; //当前链接URL
private $nowPage = 1;//默认第一页


我们一般新建对象的时候为:


$Page=new \Think\Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数(25)

$show= $Page->show();// 分页显示输出

$count 为总的页数,25为每页显示的记录数。


这里没有进行任何配置输出的效果也是默认的,我们可以进行一些调整,比如:

$Page->rollPage = 5,这样就最多显示5个分页数目,

$Page->lastSuffix=false;//这个参数是让他最后一页不显示总的数目。因为我们可以通过header来显示总的数目。


// 分页显示定制
private $config = array(
'header' => '共 %TOTAL_ROW% 条记录',
'prev' => ' 'next' => '>>',
'first' => '1...',
'last' => '...%TOTAL_PAGE%',
'theme' => '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%',
);


这里是分页样式默认的数组,我们可以通过攒地新的值来覆盖它们,

通过

public function setConfig($name,$value) {
if(isset($this->config[$name])) {
$this->config[$name] = $value;
}
}


这个函数我们可以把这些默认覆盖,比如theme里面没有header的信息,我们可以加入%HEADER% 来让他显示出来。而header的内容也可以通过一个key为header的数组来覆盖。其他的参数都是类似的,说明一下,theme里面我们可以自己调整header的位置,而不是固定在前面或者后面,用起来很灵活。


下面说明一下,thinkphp这个分页类是如何通过配置文件来修改它的样式的。


$page_str = str_replace(
array('%HEADER%', '%NOW_PAGE%', '%UP_PAGE%', '%DOWN_PAGE%', '%FIRST%', '%LINK_PAGE%', '%END%', '%TOTAL_ROW%', '%TOTAL_PAGE%'),
array($this->config['header'], $this->nowPage, $up_page, $down_page, $the_first, $link_page, $the_end, $this->totalRows, $this->totalPages),
$this->config['theme']);


这个str_replace可以说是分页类的一个设计精华之处,首先前面将类的各个属性的值分开赋值,最后调用这个函数,读取config中的theme来表示要显示的内容,而其中的变量是通过按照对应的数组来替换的,就实现了将config中的theme(可以子集覆盖默认的theme)来控制如何显示分页及内容顺序。


最后就是thinkphp将常用的前一页,后一页,第一页,当前页都加了默认class,所以我们引入一个css文件就可以改变他的样式了。






本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何修复 .NET 解析器返回的错误 0xC00CE556 如何修复 .NET 解析器返回的错误 0xC00CE556 Apr 25, 2023 am 08:34 AM

如何修复 .NET 解析器返回的错误 0xC00CE556

SpringBoot怎么通过Feign调用传递Header中参数 SpringBoot怎么通过Feign调用传递Header中参数 May 16, 2023 pm 08:38 PM

SpringBoot怎么通过Feign调用传递Header中参数

linux的header是什么意思 linux的header是什么意思 Jul 18, 2023 pm 03:34 PM

linux的header是什么意思

iOS的developer版和public版有什么区别? iOS的developer版和public版有什么区别? Mar 01, 2024 pm 12:55 PM

iOS的developer版和public版有什么区别?

html5标签head和header有什么区别 html5标签head和header有什么区别 Jan 17, 2022 am 11:10 AM

html5标签head和header有什么区别

php如何使用ThinkPHP\Config进行配置管理? php如何使用ThinkPHP\Config进行配置管理? May 31, 2023 pm 02:31 PM

php如何使用ThinkPHP\Config进行配置管理?

如何使用PHP header()方法来调整网页 如何使用PHP header()方法来调整网页 Mar 28, 2023 pm 01:54 PM

如何使用PHP header()方法来调整网页

php header头怎么实现跳转 php header头怎么实现跳转 Dec 02, 2022 am 09:14 AM

php header头怎么实现跳转

See all articles