订购菜单项

Fen*_*nek 6 hugo

我正在尝试订购菜单中的项目,但这对我不起作用。我试图按照他们的文档进行操作,但它根本不起作用。

在我的标题中:

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

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

小智 6

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


Rey*_*lar 5

更改线路:

{{ range .Site.Data.Menu }}
Run Code Online (Sandbox Code Playgroud)

经过:

{{ range sort .Site.Data.Menu "Weight"}}
Run Code Online (Sandbox Code Playgroud)

这为我解决了问题。


bep*_*bep 5

重量是 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)