ByName
Sort
方法會傳回指定的選單,並將其項目依據 name
排序。
以下為選單定義範例:
hugo.
menus:
main:
- name: Services
pageRef: /services
weight: 10
- name: About
pageRef: /about
weight: 20
- name: Contact
pageRef: /contact
weight: 30
[menus]
[[menus.main]]
name = 'Services'
pageRef = '/services'
weight = 10
[[menus.main]]
name = 'About'
pageRef = '/about'
weight = 20
[[menus.main]]
name = 'Contact'
pageRef = '/contact'
weight = 30
{
"menus": {
"main": [
{
"name": "Services",
"pageRef": "/services",
"weight": 10
},
{
"name": "About",
"pageRef": "/about",
"weight": 20
},
{
"name": "Contact",
"pageRef": "/contact",
"weight": 30
}
]
}
}
要依 name
排序項目:
<ul>
{{ range .Site.Menus.main.ByName }}
<li><a href="{{ .URL }}">{{ .Name }}</a></li>
{{ end }}
</ul>
Hugo 會渲染成:
<ul>
<li><a href="/about/">About</a></li>
<li><a href="/contact">Contact</a></li>
<li><a href="/services/">Services</a></li>
</ul>
您也可以使用 sort
函數排序選單項目。例如,按 name
降序排列:
<ul>
{{ range sort .Site.Menus.main "Name" "desc" }}
<li><a href="{{ .URL }}">{{ .Name }}</a></li>
{{ end }}
</ul>
當使用 sort
函數排序選單項目時,可指定以下任一鍵值:Identifier
、Name
、Parent
、Post
、Pre
、Title
、URL
或 Weight
。