PbootCMS 标签分页 URL 重复叠加
一、问题现象
在 PbootCMS 中使用TAG 标签分页时,点击分页按钮后 URL 会出现参数无限重复叠加,例如:/tag/PHP教程?PB教程&PB教程&PB教程&page=2&page=3
这种错误 URL 会导致页面跳转失效或内容显示异常。
二、问题原因
PbootCMS 默认分页逻辑未针对TAG 控制器做特殊处理,导致分页时重复追加page
参数。具体表现为:
三、解决方案(核心步骤)
1. 定位核心文件
打开 PbootCMS 根目录下的文件:core/view/Paging.php
(需通过 FTP 或服务器文件管理器操作)。
2. 修改分页逻辑
找到buildBasicPage
方法中的以下代码行:
$qs = preg_replace('/(\&|\?)page=([0-9]+)?/i', '', $qs);
在该行下方添加条件判断代码:
if (C == 'Tag') { // 当控制器为Tag时,禁用默认分页参数拼接 $qs = false; }
3. 完整代码示例
修改后的buildBasicPage
方法关键代码段:
// 清理URL中的page参数 $qs = preg_replace('/(\&|\?)page=([0-9]+)?/i', '', $qs); // 新增:TAG控制器分页优化 if (C == 'Tag') { $qs = false; } // 其他原有代码...