我正在尝试订购菜单中的项目,但这对我不起作用。我试图按照他们的文档进行操作,但它根本不起作用。
在我的标题中:
{{ range .Site.Data.Menu }}
<li>
<a href="{{ .URL | absURL }}"
{{ if and ( isset . "Title" ) ( ne .Title "" ) }} title="{{ .Title }}"{{ end }}>
{{ if and ( isset . "IconClass" ) ( ne .IconClass "" ) }}
<i class="fa {{ .IconClass }}"></i>
{{ end }}
{{ .Name }}
</a>
</li>
{{ end }}
Run Code Online (Sandbox Code Playgroud)
菜单文件
[home]
Name = "Home"
Title = "Home"
URL = "/home"
weight = 1
[apparatus]
Name = "Apparatus"
URL = "/apparatus"
weight = 2
[deliveries]
Name = "Deliveries"
URL = "/deliveries"
weight = 3
[command]
Name = "Command"
URL = "/command"
weight = 4
[ambulance]
Name = "Ambulance"
URL = "/ambulance"
weight = 5
[service]
Name = "Service"
URL = "/service"
weight = 6
[about]
Name = "about"
URL = "/about"
weight = 7
[contact]
Name = "Contact"
URL = "/contact"
weight = 8
Run Code Online (Sandbox Code Playgroud)
菜单以看似随机的顺序结束。我如何按照我想要的方式订购它们?
更改线路:
{{ range .Site.Data.Menu }}
Run Code Online (Sandbox Code Playgroud)
经过:
{{ range sort .Site.Data.Menu "Weight"}}
Run Code Online (Sandbox Code Playgroud)
这为我解决了问题。
重量是 Hugo 中菜单的默认排序。下面的一些变化:
{{ range .Site.Data.Menu.Sort }}
{{ range .Site.Data.Menu.ByName }}
{{ range .Site.Data.Menu.ByName.Reverse }}
{{ range .Site.Data.Menu.ByName.Limit 10 }}
{{ range .Site.Data.Menu.ByWeight }}
Run Code Online (Sandbox Code Playgroud)