Hugo 未从config.toml定义显示的菜单项

Hugo 未从config.toml定义显示的菜单项,hugo,Hugo,我试图定义一个在引导导航栏中显示的站点范围的菜单 顶层config.toml是 baseURL = "http://localhost/" languageCode = "en-us" title = "Localhost" [menu] [[menu.main]] identifier = "page1" name = "page1" url = "/page1/" weight = 0 [[main.menu]

我试图定义一个在引导导航栏中显示的站点范围的菜单

顶层config.toml是

baseURL = "http://localhost/"
languageCode = "en-us"
title = "Localhost"

[menu]
    [[menu.main]]
        identifier = "page1"
        name = "page1"
        url = "/page1/"
        weight = 0
    [[main.menu]]
        identifier = "page2"
        name = "page2"
        url = "/page2/"
        weight = 1
    [[main.menu]]
        identifier = "page3"
        name = "page3"
        url = "/page3/"
        weight = 2
菜单位于站点上下文中传递的站点标题部分中

index.html

{{ partial "head.html" . }}

<body>
  {{ partial "site-header.html" . }}

  <div class="row">
    <div class="col-12">
      <main>
        <section>
          <h1>{{.Title}}</h1>
        </section>
      </main>
    </div>
  </div>
</body>
{{partial“head.html”。}
{{partial“site header.html”。}
{{.Title}
site-header.html

<header>
    <div class="container">
      <nav class="navbar navbar-expand-sm navbar-dark ">
        <a class="navbar-brand" href="{{ "/" | relURL}}"><img src="/images/Main-Logo-v1-1.png" class="d-inline-block align-top menu-brand-image" alt="Logo"></a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>

        <div class="collapse navbar-collapse" id="navbarSupportedContent">
          <ul class="navbar-nav ml-auto">
            {{ $currentPage := . }}
            {{ range .Site.Menus.main }}
              <li class="navbar-item {{if or ($currentPage.IsMenuCurrent "main" .) ($currentPage.HasMenuCurrent "main" .) }} active{{end}}">
                <a class="nav-link" href="{{ .URL }}" title="{{ .Title }}">{{ .Name }}</a>
              </li>
            {{ end }}
          </ul>
        </div>
      </nav>
    </div>
  </div>
</header>

    {{$currentPage:=.} {{range.Site.Menus.main}
  • {{end}
{range.Site.Menus.main}似乎只解析表数组[[menu.main]]中的第一个元素,因为生成的html中只包含“page1”项

我还添加了一些调试printf,它确认该范围仅将[[menu.main]]识别为1的数组


如果您有任何想法和建议,我们将不胜感激。

似乎您在
config.toml
菜单定义中拼错了其他菜单项。您正在声明
[[main.menu]]
,而不是
[[menu.main]]]
。第一个是正确的,这就是它出现的原因