列表分页怎么写?$pager 里有哪些变量?为什么 total 一直是 0?

已解决 提问于 2026-10-25 提问者:超级管理员 20 次阅读

栏目列表翻页用 {include common/pager} 就有了,但我想自定义样式,分页对象里都有什么?还有 total 好像总是 0?

回答(1)

已采纳最佳答案
  • 2026-10-25 回答 最佳答案

    先说 total:栏目页的 simple 分页模式故意不执行 COUNT(*)。亿级数据下 COUNT 要几十秒,而用户根本不看"共 N 条",所以 {$pager.total} 在栏目页恒为 0,这是设计不是 bug。真要展示总数,用后台搜索页这类已经 COUNT 的场景,或自己写缓存过的统计。

    自定义翻页链接的通用写法(三种链接形态都兼容):

    <a href="{$pager_base}{$q_sep}page=1">首页</a>
    <a href="{$pager_base}{$q_sep}page={$pager.prev}">上一页</a>
    <a href="{$pager_base}{$q_sep}page={$pager.next}">下一页</a>

    要点:

    1. 追加查询参数一律用 {$q_sep}(entry 模式下它是 &,伪静态下是 ?),不要写死;
    2. 懒人直接 {include common/pager},主题已带样式;
    3. 深翻页(几千页之后)建议引导用搜索/筛选,别让人翻到底。

写回答

该问题已解决,不再接受新的采纳。