【问题标题】:get filter Ghost blog related posts by tag按标签过滤 Ghost 博客相关文章
【发布时间】:2017-04-28 17:46:18
【问题描述】:

我正在尝试使用 Ghost 博客中的 Get 助手按标签获取相关帖子的列表。

我尝试关注cookbook in Ghost docs以通过标签获取相关帖子,但似乎有些语法略有变化(我知道这是一个测试版功能!)。

但我在我的 post.hbs 上使用它(这是在 {{#post}} 块内):

{{#get "posts" limit="4" include="tags" filter="tags.name:[Test]+posts.id:-{{id}}" as |related|}} 
{{!-- do appropriate stuff --}}
{{/get}}

明显的问题是Test 标签在这里是硬编码的。尽管{{tags}} 为我输出了一个标签列表,但它在这里不起作用:

App 22174 stderr: ERROR: Query Error: unexpected character in filter at char 11
App 22174 stderr: tags.name:[[object Object]]+pos
App 22174 stderr: -----------^
App 22174 stderr: Expecting 'NULL', 'TRUE', 'FALSE', 'NUMBER', 'LITERAL', 'STRING', got 'LBRACKET' 
App 22174 stderr:  Error parsing filter 
App 22174 stderr:  For more information on how to use filter, see http://api.ghost.org/docs/filter 

有人有什么想法吗?

PS 这是使用 0.11.7 版本(我刚刚看到最近发布了 0.11.8,但 the changelog 并没有注意到我所看到的任何相关内容)。

【问题讨论】:

    标签: ghost


    【解决方案1】:

    我在使用过滤器按标签获取相关帖子时也遇到了问题,我终于解决了。因此,以防万一您没有,或者其他可能遇到此问题的人...

    我在解析过滤器时遇到问题。这是我现在使用为我工作的 get 助手的代码(注意:我的侧边栏在我的 {{#post}} 块内):

    {{#get "posts" limit="3" filter="tags:[{{tags[*].slug}}]+id:-{{id}}" include="tags"}}
      {{#foreach posts}}
        <p>{{title}}</p>
      {{/foreach}}
    {{/get}}
    

    我的一个问题似乎是我的一些标签是 2 个单词,这意味着我必须引用标签的 slug(这就是 tags[*].slug 正在做的事情)。

    我还有一个只有一个字母的标签(Ghost 自动将 C# 标签变成了 c),过滤器也不喜欢这样。我将 slug 编辑为 c-sharp,现在一切正常。

    【讨论】:

    • 我为此付出了很多努力。最后这工作! >>filter="tags:[{{tags[*].slug}}]"
    • 哇。谢谢。文档对此不是很清楚。
    猜你喜欢
    • 1970-01-01
    • 2020-10-21
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多