幽灵博客-空导航

Ghost blog - empty navigation

我想在我的 ghost 博客上设置自定义导航,但即使 documentation 中的简单演练也给我空白输出。我还可以确认 {{#if @blog.navigation}} 评估为真,如下所示。

幽灵版本:0.11.4
数据库:mysql

ghost/content/themes/omikron_1.4/partials/navigation.hbs

{{!-- Navigation --}}
<ul class="nav navbar-nav navbar-right doYouReadMe {{#if @blog.navigation}}weHaveNav{{/if}}">
    {{#foreach navigation}}
        <a href="{{url absolute="true"}}">{{label}}</a>
    {{/foreach}}
</ul>

我添加了 "doYouReadMe" class 来确认这个文件确实被引用了。我还添加了条件以确认 Ghost 正在查看导航项是否存在。然后我重新启动 ghost,导航元素为空,添加了 classes:

<ul class="nav navbar-nav navbar-right doYouReadMe weHaveNav">
    ::before
    ::after
</ul>

还确认了数据库中的值并且它们的格式似乎正确。此处没有问题的其他证据是管理区域中的导航页面加载内容没有任何问题:

mysql> select settings.key, settings.value from settings where settings.key = 'navigation';
+------------+-------------------------------------------------------------------------------------------------------------+
| key        | value                                                                                                       |
+------------+-------------------------------------------------------------------------------------------------------------+
| navigation | [{"label":"test google","url":"https://google.com"},{"label":"test facebook","url":"https://facebook.com"}] |
+------------+-------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

有时候ghost navigation不理解为数组
我在 ghost-sidebar 主题上遇到了类似的问题,我只使用以下方法解决了这个问题:
{{navigation}}

然后为呈现的元素设置样式。替换你的

{{#foreach navigation}}
    <a href="{{url absolute="true"}}">{{label}}</a>
{{/foreach}}

{{navigation}}

是主题本身的问题

问题出在我的 header 部分主题中插入导航。

错误代码为:

{{> navigation}}

我将其更正为:

{{navigation}}

它与车把有关,如果您使用的是自定义模板,则可以使用此模板:

 {{#each @site.navigation}}
        <li class="nav-item {{#if this.current}} active {{/if}}">
            <a class="nav-link" href="{{this.url}}">{{{label}}}</a>
        </li>
    {{/each}}