订购菜单项

Ordering Menu items

我正在尝试在菜单中点餐,但我不适合。我尝试按照他们的文档进行操作,但根本不起作用。

在我的 header:

      {{ 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 }}

menu.toml

[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

菜单以看似随机的顺序结束。如何按照我想要的方式订购它们?

我遇到了同样的问题,通过为权重属性使用负数解决了这个问题。

换行:

{{ range .Site.Data.Menu }}

作者:

{{ range sort .Site.Data.Menu "Weight"}}

这解决了我的问题。

权重是 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 }}