Ghost:首页上带有特定标签的最新帖子

ofs*_*dio 5 handlebars.js ghost-blog

我正在为我的博客开发一个Ghost模板.我想在首页上看到来自具有特定标签的帖子的最新帖子(例如"新闻").

是否可以通过foreach循环中的标记过滤帖子?

还有其他方法吗?(首先想到的是自定义模板tag-news.hbs和URL重写的一些技巧)

cjs*_*eon 11

你绝对可以使用{{has}}帮助器按标签过滤帖子:

{{#foreach posts}}
  {{#has tag="news"}}
      {{> post}}
  {{/has}}
{{/foreach}}
Run Code Online (Sandbox Code Playgroud)

您可以将此代码添加到home.hbs文件中,它只会在您的主页上使用.

如果您希望其他列表页面有多个帖子,我不确定将其限制为一个帖子的最佳方法.您可能必须编写自定义帮助程序.

你有权访问一个@index变量,但是如果带有'news'的第一篇帖子是第三篇帖子,那@index将是2因为它随外部foreach循环递增.

很快你就可以使用api:https://github.com/TryGhost/Ghost/wiki/%5BWIP%5D-API-Documentation


Leo*_*Leo 5

在阅读了冗长的讨论后,GitHub Ghost问题:查询(获取)助手#4439最近关闭,好消息 - 帮助者和过滤器正被添加到 Public API v1!

{{#get}}帮助程序#5619刚刚合并为master(仍然不稳定),因此解决方案:

{{#get "posts" featured="true" as |featured|}}
  {{#foreach featured}}
    ...
  {{/foreach}}
 {{/get}}
Run Code Online (Sandbox Code Playgroud)