ByName
Syntax
MENU.ByName
Returns
navigation.Menu
Sort
方法返回给定菜单,并按 name
排序其条目。
考虑以下菜单定义:
hugo.
menu:
main:
- name: 服务
pageRef: /services
weight: 10
- name: 关于
pageRef: /about
weight: 20
- name: 联系我们
pageRef: /contact
weight: 30
[menu]
[[menu.main]]
name = '服务'
pageRef = '/services'
weight = 10
[[menu.main]]
name = '关于'
pageRef = '/about'
weight = 20
[[menu.main]]
name = '联系我们'
pageRef = '/contact'
weight = 30
{
"menu": {
"main": [
{
"name": "服务",
"pageRef": "/services",
"weight": 10
},
{
"name": "关于",
"pageRef": "/about",
"weight": 20
},
{
"name": "联系我们",
"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/">关于</a></li>
<li><a href="/contact">联系我们</a></li>
<li><a href="/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
。