按标签过滤 Ghost 博客相关帖子

Dam*_*ift 2 ghost

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

我试图按照Ghost 文档中食谱按标签获取相关帖子,但似乎某些语法略有变化(我知道这是一个测试版功能!)。

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

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

明显的问题是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 
Run Code Online (Sandbox Code Playgroud)

谁有想法?

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

yel*_*ode 5

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

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

{{#get "posts" limit="3" filter="tags:[{{tags[*].slug}}]+id:-{{id}}" include="tags"}}
  {{#foreach posts}}
    <p>{{title}}</p>
  {{/foreach}}
{{/get}}
Run Code Online (Sandbox Code Playgroud)

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

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