Menus
返回给定站点的菜单对象集合。
Site 对象上的 Menus 方法返回菜单的集合,其中每个菜单包含一个或多个条目,条目可以是平铺的,也可以是嵌套的。每个条目指向站点内的某个页面,或指向外部资源。
一个站点可以有多个菜单。例如一个主菜单和一个页脚菜单:
[[menus.main]]
name = 'Home'
pageRef = '/'
weight = 10
[[menus.main]]
name = 'Books'
pageRef = '/books'
weight = 20
[[menus.main]]
name = 'Films'
pageRef = '/films'
weight = 30
[[menus.footer]]
name = 'Legal'
pageRef = '/legal'
weight = 10
[[menus.footer]]
name = 'Privacy'
pageRef = '/privacy'
weight = 20这个模板渲染主菜单:
{{ with site.Menus.main }}
<nav class="menu">
{{ range . }}
{{ if $.IsMenuCurrent .Menu . }}
<a class="active" aria-current="page" href="{{ .URL }}">{{ .Name }}</a>
{{ else }}
<a href="{{ .URL }}">{{ .Name }}</a>
{{ end }}
{{ end }}
</nav>
{{ end }}查看首页时,结果是:
<nav class="menu">
<a class="active" aria-current="page" href="/">Home</a>
<a href="/books/">Books</a>
<a href="/films/">Films</a>
</nav>查看 books 页面时,结果是:
<nav class="menu">
<a href="/">Home</a>
<a class="active" aria-current="page" href="/books/">Books</a>
<a href="/films/">Films</a>
</nav>你通常会用_局部模板_来渲染菜单。由于活动菜单条目在每个页面上都不同,请用 partial 函数调用模板,不要用 partialCached 函数。
上面的示例很简单。更多信息请参见菜单模板一节。