You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ghost主题开发:如何分别调用主次导航至导航栏与页脚

Ghost主题:主导航/次导航分别绑定导航栏与页脚的解决方法

核心问题

你之前错误修改了全局{{navigation}}的调用参数,导致导航栏和页脚共用次导航数据。正确逻辑是导航栏默认调用primary导航,页脚单独调用secondary导航,两者互不干扰。

具体修改步骤

1. 保留导航栏原有设置

default.hbs中的导航栏调用保持不变:

{{navigation}}

Ghost中{{navigation}}默认读取后台设置的primary导航,你的navigation.hbs代码无需修改,可继续正常工作。

2. 修改页脚partial(footer.hbs)

替换原有代码为以下两种方案之一:

方案一:直接遍历次导航数据

直接读取@site.secondary_navigation全局变量,后台未设置次导航时自动显示"Coming soon!":

<ul class="nav footer-nav" role="menu">
  {{#foreach @site.secondary_navigation}}
    <li class="nav-{{slug}}{{#if current}} nav-current{{/if}}">
      <a href="{{url absolute="true"}}">{{label}}</a>
    </li>
  {{else}}
    <p>Coming soon!</p>
  {{/foreach}}
</ul>
方案二:复用导航partial(推荐)

若想复用已有的navigation.hbs逻辑,只需在调用时指定type="secondary"参数:

{{> navigation type="secondary"}}

这种方式会让navigation.hbs中的{{navigation}}变量自动读取后台次导航数据,避免重复编写遍历逻辑。

验证效果

  1. 后台配置好primary和secondary导航的链接
  2. 重启Ghost服务或刷新主题缓存
  3. 前端页面将自动呈现:导航栏显示主导航,页脚显示次导航;未设置次导航时,页脚显示"Coming soon!"

内容的提问来源于stack exchange,提问作者Allien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 07:53:16