node.js - Ghost帖子按标签名称过滤

标签 node.js handlebars.js ghost-blog

我正在尝试使用标签名称和带有该标签的帖子列表为我的 Ghost 博客创建一个侧边栏

我已经尝试了一切,但无法让它工作。这是我得到的最接近的结果:

.hbs

{{#foreach tags}}
    <h2>{{tag}}</h2>

    {{#foreach posts filter="tags:{{slug}}"}}
       <a href="{{url}}">{{title}}</a>
    {{/foreach}}

{{/foreach}}

最佳答案

使用#get助手应该解决这个问题。请注意,我使用了 primary_tag 来阻止重复帖子的发生。如果您不介意,可以将 primary_tag 更改为 tag:

{{#get "tags" limit="all"}}
    {{#foreach tags}}
        <h2>{{name}}</h2>
        {{#get "posts" limit="all" filter="primary_tag:{{slug}}"}}
            {{#foreach posts}}
                <a href="{{url}}">{{title}}</a>
            {{/foreach}}
        {{/get}}
    {{/foreach}}
{{/get}}

希望这有帮助!

关于node.js - Ghost帖子按标签名称过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60144530/

相关文章:

javascript - 如何访问变量 key 并将其用作另一个函数中的变量?

javascript - 将文本聊天添加到 webRTC 音频/视频聊天

handlebars.js - 带空格访问阵列键

ember.js - 在 Ember.js 中生成一个循环计数器 #each

html - p 标签内可调整大小的 img,其宽度大于容器

node.js - 如果对等点仍然使用 Nodejs WebRTC 连接,我们将如何在服务器端知道

node.js - 如何覆盖 npm 安装版本检查失败?

javascript - Handlebars +=,-= 如果满足条件

markdown - 如何在 Ghost 中的图像 Markdown 中添加类?

ghost-blog - 如果设置了 `index.hbs`,如何访问 `home.hbs`?