You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CodeIgniter4中通过自定义库扩展PagerRenderer新增分页计数方法

你的扩展方向是正确的,只需要调整几个问题和配置就可以正常使用:

现有代码需要修正的问题

  1. 自定义类的构造方法多余
    你写的__construct空参调用父类构造会报错,原生PagerRenderer的构造方法需要接收分页相关参数,不需要你手动声明构造方法,直接删除你自定义Pagination类中的__construct方法即可,继承时会自动调用父类构造。
  2. 视图头部的use语句语法错误
    你写的use App\Libraries\Pagination\末尾多了反斜杠,而且不需要加这个use语句,配置完成后框架传入视图的$pager实例本身就是你自定义类的实例,可以直接调用新增方法。

需要添加的配置

CodeIgniter4的分页配置本身支持自定义渲染器类,不需要修改核心代码也不需要重写服务,直接修改配置即可:
打开app/Config/Pager.php配置文件,找到$renderer配置项,将默认值替换为你自定义的类:

// 原配置
// public $renderer = \CodeIgniter\Pager\PagerRenderer::class;
// 修改为
public $renderer = \App\Libraries\Pagination::class;

修改完成后框架生成的所有分页渲染器实例都会使用你自定义的Pagination类,在视图中直接调用你新增的方法即可。

额外注意

你当前视图里的方法调用有逻辑错位问题,比如上一页链接的data-page调用的是getLastPageCounter(),最后一页链接的data-page调用的是getPreviousPageCounter(),这部分属于业务逻辑错误,你根据自己的需求调整对应方法调用即可。

内容的提问来源于stack exchange,提问作者ven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 12:48:03