KeyName
Syntax
MENUENTRY.KeyName
Returns
string
在这个菜单定义中,第二个条目不包含 identifier
,因此 Identifier
方法返回其 name
属性:
hugo.
menus:
main:
- identifier: about
name: About
pageRef: /about
weight: 10
- name: Contact
pageRef: /contact
weight: 20
[menus]
[[menus.main]]
identifier = 'about'
name = 'About'
pageRef = '/about'
weight = 10
[[menus.main]]
name = 'Contact'
pageRef = '/contact'
weight = 20
{
"menus": {
"main": [
{
"identifier": "about",
"name": "About",
"pageRef": "/about",
"weight": 10
},
{
"name": "Contact",
"pageRef": "/contact",
"weight": 20
}
]
}
}
此示例在多语言站点上查询翻译表时使用 KeyName
方法,如果翻译表中不存在匹配的键,则回退到 name
属性:
<ul>
{{ range .Site.Menus.main }}
<li><a href="{{ .URL }}">{{ or (T (.KeyName | lower)) .Name }}</a></li>
{{ end }}
</ul>
在上面的示例中,我们需要将 .KeyName
返回的值通过 lower
函数传递,因为翻译表中的键是小写的。