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

看不見的法師
发布: 2025-11-25 21:33:24
原创
647人浏览过
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免费学习笔记(深入)”;

zuojiankuohaophpcndiv class="data-list">
{volist name="list" id="vo"}
<p>{$vo.name}</p>
{/volist}
</div>

<div class="pagination">
{$list->render()}
</div>

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

自定义分页样式和配置

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

Topaz Video AI
Topaz Video AI

一款工业级别的视频增强软件

Topaz Video AI 388
查看详情 Topaz Video AI
  • 设置分页参数:可在 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 的分页机制灵活且易于扩展,既能快速上手,也支持深度定制。

以上就是ThinkPHP分页功能怎么实现_ThinkPHP分页组件使用及自定义样式教程的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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