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
在阅读了冗长的讨论后,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)