下一个
语法
PAGES.Next PAGE
返回值
page.Page
Hugo 通过根据此排序层次结构对页面集合进行排序来确定下一个和上一个页面
字段 | 优先级 | 排序方向 |
---|---|---|
权重 |
1 | 降序 |
日期 |
2 | 降序 |
linkTitle |
3 | 降序 |
path |
4 | 降序 |
用于确定下一个和上一个页面的排序后的页面集合独立于其他页面集合,这可能会导致意外的行为。
例如,使用以下内容结构
content/
├── pages/
│ ├── _index.md
│ ├── page-1.md <-- front matter: weight = 10
│ ├── page-2.md <-- front matter: weight = 20
│ └── page-3.md <-- front matter: weight = 30
└── _index.md
以及这些模板
layouts/_default/list.html
{{ range .Pages.ByWeight}}
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ end }}
layouts/_default/single.html
{{ $pages := .CurrentSection.Pages.ByWeight }}
{{ with $pages.Prev . }}
<a href="{{ .RelPermalink }}">Previous</a>
{{ end }}
{{ with $pages.Next . }}
<a href="{{ .RelPermalink }}">Next</a>
{{ end }}
当您访问 page-2 时
Prev
方法指向 page-3Next
方法指向 page-1
要反转下一个和上一个的含义,您可以将 Reverse
方法链接到页面集合定义
layouts/_default/single.html
{{ $pages := .CurrentSection.Pages.ByWeight.Reverse }}
{{ with $pages.Prev . }}
<a href="{{ .RelPermalink }}">Previous</a>
{{ end }}
{{ with $pages.Next . }}
<a href="{{ .RelPermalink }}">Next</a>
{{ end }}