0

0

ThinkPHP分页功能怎么实现_ThinkPHP分页组件使用及自定义样式教程

看不見的法師

看不見的法師

发布时间:2025-11-25 21:33:24

|

701人浏览过

|

来源于php中文网

原创

thinkphp 6 提供便捷分页功能,通过控制器调用模型的 paginate 方法实现数据分页,每页条数、页码和总数据自动处理;在视图中使用 {$list->render()} 输出分页html,默认生成bootstrap风格;支持自定义配置如每页数量、url参数保留和锚点设置;可通过复制修改 paginate.tpl 模板文件深度定制分页结构;结合css可美化样式,适配element plus或layui等前端框架,灵活性强,易于扩展。

thinkphp分页功能怎么实现_thinkphp分页组件使用及自定义样式教程

ThinkPHP 框架提供了便捷的分页功能,能够快速实现数据列表的分页展示。本文以 ThinkPHP 6 为例,介绍如何使用内置分页组件,并自定义分页样式。

启用分页查询

在控制器中调用模型的 paginate 方法即可开启分页。该方法会自动处理当前页码、每页数量和总数据条数。

// 控制器代码示例
$list = UserModel::where('status', 1)->paginate(10);
return view('index', ['list' => $list]);

上述代码表示每页显示 10 条数据,ThinkPHP 会自动从请求中获取 page 参数(如 ?page=2),并返回包含分页信息的数据对象。

模板中输出分页链接

在视图模板中,通过调用分页对象的 render 方法输出分页 HTML。

立即学习PHP免费学习笔记(深入)”;


{volist name="list" id="vo"}

{$vo.name}


{/volist}


render 方法默认生成 Bootstrap 风格的分页 HTML,适用于大多数前端框架。

OneAI
OneAI

将生成式AI技术打包为API,整合到企业产品和服务中

下载

自定义分页样式和配置

如果需要修改分页的外观或行为,可以通过配置参数或继承分页类实现。

  • 设置分页参数:可在 paginate 方法中传入数组进行配置
$list = UserModel::paginate([ 'list_rows' => 15, // 每页记录数 'page' => input('page', 1), 'query' => request()->param(), // 保留URL参数 'fragment' => 'content' // 锚点 ]);
  • 自定义分页模板:复制框架默认的分页视图文件到应用目录下修改

默认分页模板位于 vendor/topthink/framework/src/view/paginate.tpl,可复制到 app/view/layout/paginate.tpl,然后在配置文件中指定:

// config/app.php
'paginate' => [ 'template' => app_path() . 'view/layout/paginate.tpl' ],

在自定义模板中可完全控制 HTML 结构,例如改为更简洁的“上一页 / 下一页”按钮,或添加跳转输入框。

使用 CSS 美化分页样式

即使使用默认输出,也可以通过 CSS 调整外观。

.pagination {
display: flex;
list-style: none;
padding: 0;
margin: 20px 0;
}

.pagination .page-item {
margin: 0 5px;
}

.pagination .page-link {
padding: 8px 12px;
border: 1px solid #ddd;
border-radius: 4px;
text-decoration: none;
}

.pagination .active .page-link {
background: #007bff;
color: white;
border-color: #007bff;
}

结合前端框架如 Element Plus 或 Layui 时,也可通过自定义模板适配其分页结构。

基本上就这些,ThinkPHP 的分页机制灵活且易于扩展,既能快速上手,也支持深度定制。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
thinkphp和laravel哪个简单
thinkphp和laravel哪个简单

对于初学者来说,laravel 的入门门槛较低,更易上手,原因包括:1. 更简单的安装和配置;2. 丰富的文档和社区支持;3. 简洁易懂的语法和 api;4. 平缓的学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

385

2024.04.10

thinkphp性能怎么样
thinkphp性能怎么样

thinkphp 是一款高性能的 php 框架,具备缓存机制、代码优化、并行处理和数据库优化等优势。官方性能测试显示,它每秒可处理超过 10,000 个请求,实际应用中被广泛用于京东商城、携程网等大型网站和企业系统。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

357

2024.04.10

class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

849

2024.01.03

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

30

2025.12.06

margin在css中是啥意思
margin在css中是啥意思

在CSS中,margin是一个用于设置元素外边距的属性。想了解更多margin的相关内容,可以阅读本专题下面的文章。

465

2023.12.18

css中的padding属性作用
css中的padding属性作用

在CSS中,padding属性用于设置元素的内边距。想了解更多padding的相关内容,可以阅读本专题下面的文章。

175

2023.12.07

html边框设置教程
html边框设置教程

本教程将带你全面掌握HTML/CSS边框设置,从基础的border属性讲起,涵盖所有边框样式、圆角设置及高级技巧,帮助你快速上手实现各种边框效果。

42

2025.09.02

flex教程
flex教程

php中文网为大家带来了flex教程合集,Flex是采用Flex布局的元素,称为Flex容器(flex container),简称"容器",它的所有子元素自动成为容器成员,有三个核心概念: flex项,需要布局的元素;flex容器,其包含flex项;排列方向,这决定了flex项的布局方向。php中文网还为大家带来flex的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

369

2023.06.14

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

4

2026.03.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.6万人学习

CSS教程
CSS教程

共754课时 | 41.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号