Thinkphp5 自定义分页类
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,1.在extend\目录下创建page目录,在page目录中创建Page.php文件,将以下代码放入文件中
千家信息网最后更新 2025年12月01日Thinkphp5 自定义分页类
1.在extend\目录下创建page目录,在page目录中创建Page.php文件,将以下代码放入文件中
namespace page;
use think\Paginator;
class Page extends Paginator
{
//首页protected function home() { if ($this->currentPage() > 1) { return "首页"; } else { return "首页
"; }}//上一页protected function prev() { if ($this->currentPage() > 1) { return "上一页"; } else { return "上一页
"; }}//下一页protected function next() { if ($this->hasMore) { return "下一页"; } else { return"下一页
"; }}//尾页protected function last() { if ($this->hasMore) { return "尾页"; } else { return "尾页
"; }}//统计信息protected function info(){ return "共" . $this->lastPage . "页" . $this->total . "条数据
";}/** * 页码按钮 * @return string */protected function getLinks(){ $block = [ 'first' => null, 'slider' => null, 'last' => null ]; $side = 3; $window = $side * 2; if ($this->lastPage < $window + 6) { $block['first'] = $this->getUrlRange(1, $this->lastPage); } elseif ($this->currentPage <= $window) { $block['first'] = $this->getUrlRange(1, $window + 2); $block['last'] = $this->getUrlRange($this->lastPage - 1, $this->lastPage); } elseif ($this->currentPage > ($this->lastPage - $window)) { $block['first'] = $this->getUrlRange(1, 2); $block['last'] = $this->getUrlRange($this->lastPage - ($window + 2), $this->lastPage); } else { $block['first'] = $this->getUrlRange(1, 2); $block['slider'] = $this->getUrlRange($this->currentPage - $side, $this->currentPage + $side); $block['last'] = $this->getUrlRange($this->lastPage - 1, $this->lastPage); } $html = ''; if (is_array($block['first'])) { $html .= $this->getUrlLinks($block['first']); } if (is_array($block['slider'])) { $html .= $this->getDots(); $html .= $this->getUrlLinks($block['slider']); } if (is_array($block['last'])) { $html .= $this->getDots(); $html .= $this->getUrlLinks($block['last']); } return $html;}/** * 渲染分页html * @return mixed */public function render(){ if ($this->hasPages()) { if ($this->simple) { return sprintf( '%s%s %s %s', $this->css(), $this->prev(), $this->getLinks(), $this->next() ); } else { return sprintf( '%s%s %s %s %s %s %s', $this->css(), $this->home(), $this->prev(), $this->getLinks(), $this->next(), $this->last(), $this->info() ); } }}/** * 生成一个可点击的按钮 * * @param string $url * @param int $page * @return string */protected function getAvailablePageWrapper($url, $page){ return '' . $page . '';}/** * 生成一个禁用的按钮 * * @param string $text * @return string */protected function getDisabledTextWrapper($text){ return '' . $text . '
';}/** * 生成一个激活的按钮 * * @param string $text * @return string */protected function getActivePageWrapper($text){ return '' . $text . '';}/** * 生成省略号按钮 * * @return string */protected function getDots(){ return $this->getDisabledTextWrapper('...');}/** * 批量生成页码按钮. * * @param array $urls * @return string */protected function getUrlLinks(array $urls){ $html = ''; foreach ($urls as $page => $url) { $html .= $this->getPageLinkWrapper($url, $page); } return $html;}/** * 生成普通页码按钮 * * @param string $url * @param int $page * @return string */protected function getPageLinkWrapper($url, $page){ if ($page == $this->currentPage()) { return $this->getActivePageWrapper($page); } return $this->getAvailablePageWrapper($url, $page);}/** * 分页样式 */protected function css(){ return ' ';}}
2.修改配置文件即可
//分页配置
'paginate' => [
'type' => 'page\Page',//分页类
'var_page' => 'page',
'list_rows' => 15,
],
分页样式为:
注:1)可以在代码中修改CSS部分代码,能修改一些颜色之类的样式
2)如果开启了TP5的简洁分页,只会显示上一页、下一页两个按钮
原文地址:http://www.thinkphp.cn/topic/50858.html
按钮
生成
上一
首页
代码
文件
样式
目录
页码
配置
普通
简洁
两个
信息
原文
地址
数据
激活
省略号
部分
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
vf怎么关数据库的表
软件开发类国民经济行业代码
设置dhcp服务器地址
世界民族数据库网站
如何查看服务器有没有断过网
锦城图书馆外文图书数据库
大腕互联网科技有限公司
迅游科技与互联网广告
整车软件开发的v模型
网络安全第三章
软件开发专业学生转行
新媒体网络安全规范
网络安全大赛都比什么
软件开发工时费国家标准
数据库属不属于字段类型
现在软件开发主流框架
重庆远程教育系统开发软件开发
新华三服务器是国产还是合资
湖北安全服务器地址
网站数据库密码不对怎么办
软件开发赵哥
黑龙江卫宁网络技术公司
快递公司管理软件开发
撤销网络安全等级测评机构推荐
喋血复仇哪个服务器便宜
数据库excel中如何清空字段
品效合一网络技术有限公司
衡阳产品追溯软件开发
wps表格中如何查找数据库
服务器被炸教学视频