Paginate
分页页面集合。
Syntax
PAGE.Paginate COLLECTION [N]
Returns
page.Pager
分页是将列表页面拆分为两个或更多分页器的过程,其中每个分页器包含页面集合的子集和指向其他分页器的导航链接。
默认情况下,每个分页器上的元素数量由您的 站点配置 确定。默认值为 10。通过在调用 Paginate 方法时提供第二个参数(整数)来覆盖该值。
Page 对象上还有一个 Paginator 方法,但它既不能过滤也不能排序页面集合。
Paginate 方法更灵活。
layouts/section.html
{{ $pages := where .Site.RegularPages "Section" "articles" }}
{{ $pages = $pages.ByTitle }}
{{ range (.Paginate $pages 7).Pages }}
<h2><a href="{{ .RelPermalink }}">{{ .Title }}</a></h2>
{{ end }}
{{ partial "pagination.html" . }}在上面的示例中,我们:
- 构建页面集合
- 按标题排序集合
- 分页集合,每个分页器 7 个元素
- 遍历分页后的页面集合,渲染指向每个页面的链接
- 调用嵌入的分页模板以在分页器之间创建导航链接
请注意,分页的结果会被缓存。一旦调用了 Paginator 或 Paginate 方法,分页后的集合就是不可变的。这些方法的额外调用将无效。