迅睿 CMS 模板分页:三套分页标签的适用场景
摘要
迅睿的分页标签有好几种,用错会得到“数据有但页码不出来”或者“页码有但数据重复”的结果。一、列表页分页{$pages}最常用。它会自动读取当前页和每页条数,输出完整的分页 HTML。前提是控制器里已经配置了 pagesize,没配置页数永远
迅睿的分页标签有好几种,用错会得到“数据有但页码不出来”或者“页码有但数据重复”的结果。
一、列表页分页
{$pages}最常用。它会自动读取当前页和每页条数,输出完整的分页 HTML。前提是控制器里已经配置了 pagesize,没配置页数永远是 1。
二、自定义分页样式
{$pages_html}返回的是数组,可以自己拼结构,方便套主题样式:
{loop $pages_html $p}
<a href="{$p.url}" class="{$p.active}">{$p.name}</a>
{/loop}三、API 或 AJAX 分页
这时候不能用上面的标签,因为它们直接输出 HTML。要改为在控制器里取 $this->get_page() 拿到当前页,再手动计算 offset,返回 JSON。
常见问题对照表
| 现象 | 原因 |
|---|---|
| 有数据没页码 | 控制器没设 pagesize,或没查总数 |
| 页码错乱、始终第一页 | 伪静态规则把 page 参数吞掉了 |
| 第二页内容与第一页相同 | 查询没带 limit offset |
| 最后一页后还能翻 | 总数计算没扣掉不显示的草稿 |
提醒
分页的 URL 依赖于伪静态配置。如果文章详情页能打开但分页 404,不用怀疑模板,先去后台检查 URL 规则是否给 /page/N 留了位置。
2026年10月20日 14:59
前后30天 · 点日期看归档
9月20日
9月21日
9月22日
9月23日
9月24日
9月25日
9月26日
9月27日
9月28日
9月29日
9月30日
10月1日
10月2日
10月3日
10月4日
10月5日
10月6日
10月7日
10月8日
10月9日
10月10日
10月11日
10月12日
10月13日
10月14日
10月15日
10月16日
10月17日
10月18日
10月19日
10月20日
10月21日
10月22日
10月23日
10月24日
10月25日
10月26日
10月27日
10月28日
10月29日
10月30日
10月31日
11月1日
11月2日
11月3日
11月4日
11月5日
11月6日
11月7日
11月8日
11月9日
11月10日
11月11日
11月12日
11月13日
11月14日
11月15日
11月16日
11月17日
11月18日
11月19日