加截中...

PbootCMS 标签分页 URL 重复叠加

一、问题现象

在 PbootCMS 中使用TAG 标签分页时,点击分页按钮后 URL 会出现参数无限重复叠加,例如:
/tag/PHP教程?PB教程&PB教程&PB教程&page=2&page=3
这种错误 URL 会导致页面跳转失效或内容显示异常。

二、问题原因

PbootCMS 默认分页逻辑未针对TAG 控制器做特殊处理,导致分页时重复追加page参数。具体表现为:


  1. 当使用target=tag参数筛选内容时,分页代码未清理旧的page参数;

  2. 每次点击分页按钮,新的page参数会直接追加到 URL 末尾,而非替换原有参数。

三、解决方案(核心步骤)

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;
}

// 其他原有代码...



在线客服
服务热线

服务热线

13648088499

微信咨询
二维码
返回顶部