⚠ 平台测试中。

📄 分页条

最后更新:2026-10-02

⚡ 最简写法

模板里直接调用 {{pagebar .TotalPages .CurrentQuery .CurrentPage}} 即可,自动生成上一页 / 下一页 / 页码链接(基于 ?page=N 查询参数)。

<div class="pagination">
  {{pagebar .TotalPages .CurrentQuery .CurrentPage}}
</div>

📋 分页相关字段

当使用 list 分页或内置列表页时,以下字段可用:

{{.Page}}当前页数字
{{.TotalPages}}总页数数字
{{.TotalItems}}总条数数字
{{.HasPrev}}是否有上一页布尔
{{.HasNext}}是否有下一页布尔
{{.PrevPage}}上一页页码数字
{{.NextPage}}下一页页码数字
{{.PageNumbers}}页码数组,每项含 .Num(页码)、.URL(路径式链接)、.IsEllipsis(是否为省略号占位)数组
{{.FirstURL}}首页链接(路径式,不含 ?,利于整站静态导出)URL
{{.PrevURL}}上一页链接(路径式)URL
{{.NextURL}}下一页链接(路径式)URL
{{.LastURL}}末页链接(路径式)URL
{{.PageBase}}当前分页基础路径(路径式分页的根,如 /products),便于拼自定义链接URL

⚠️ 两套分页链接风格并存:pagebar 函数与 pageURL 函数生成的是 ?page=N 查询式链接;而上面的 FirstURL/PrevURL/NextURL/LastURL/PageNumbers[].URL 是路径式链接(如 /products/index2.html),更适合整站静态导出。动态站点可混用,静态导出建议只用路径式字段。

💻 自定义分页条(推荐:路径式,利于整站静态导出)

系统已为你算好每个按钮的路径式链接(不含 ?),直接输出即可;配合 PageNumbers 中的 .Num / .URL / .IsEllipsis 渲染页码。

<div class="pagination">
  {{if .HasPrev}}<a href="{{.FirstURL}}">首页</a><a href="{{.PrevURL}}">上一页</a>{{end}}
  {{range .PageNumbers}}
  {{if .IsEllipsis}}<span class="dots">…</span>
  {{else if eq .Num $.Page}}<span class="current">{{.Num}}</span>
  {{else}}<a href="{{.URL}}">{{.Num}}</a>{{end}}
  {{end}}
  {{if .HasNext}}<a href="{{.NextURL}}">下一页</a><a href="{{.LastURL}}">末页</a>{{end}}
</div>

备选(动态查询串方式):若站点以动态方式运行(非整站静态导出),可用 pageURL 函数生成 ?page=N 链接,但必须传 3 个参数(当前页 / 总页数 / 查询串):{{pageURL .PrevPage .TotalPages .CurrentQuery}}。