如何在Ghost中呈现部分标记?

时间:2014-05-16 05:06:00

标签: handlebars.js ghost-blog

当用户在我的博客上查看标签时,我希望能够显示有关该标签的其他信息。我认为拥有一个为我拥有的每个标签调用的模板会很棒。

我的 tag.hbs

{{!< default}}

<div class="row">
  <div class="twelve columns">
    <h1 class="archive_title"><span>{{tag.name}}</span></h1>
  </div>
</div>

<!-- PLEASE LOOK HERE -->
I would like to render a partial here
<!-- PLEASE LOOK HERE -->

<div class="row {{#if @blog.cover}}margintop{{/if}}">

  <div class="small-12 large-9 columns">
    {{#foreach posts}}
    {{> content-post}}
    {{/foreach}}
  </div>

  <div class="small-12 large-3 columns">
    {{> sidebar}}
  </div>

</div>

<div class="row">
  <div class="small-12 columns">
    {{pagination}}
  </div>
</div>

为了呈现当前标记名称的部分,我尝试使用此

{{> tag.name}}

我收到500错误

[tag.hbs] The partial tag.name could not be found

有没有办法在把手中包含动态名称的部分?


其他问题:理想情况下,我希望所有标记部分都在自己的目录中。这也可能吗?

2 个答案:

答案 0 :(得分:2)

我对Ghost平台很陌生,但我一直在尝试很多。我看到你试图这样做:

{{> tag.name}}

实际上并没有调用该特定标记的名称,您试图在那里实际显示tag.hbs文件本身的内容。我之所以这么说是因为我最近刚刚创建了一个&#34; menu.hbs&#34;对于我主题的菜单栏,我尝试了这个:

{{> menu}}

车把很快意识到我有一个&#34; menu.hbs&#34;将该文件的内容倒入我放置的位置&#34; {{&gt; menu}}&#34; in。

基本上你想要尝试的是一条&#34;路径&#34;。如果向下滚动到&#34; Handlebars Paths&#34;在Handlebars webpage上,您会找到您尝试尝试的方法。我希望这至少有点帮助。

答案 1 :(得分:0)

这有效:

{{#has tag="foo"}}
  {{> partial-for-foo}}
{{/has}}
{{#has tag="bar"}}
  {{> partial-for-bar}}
{{/has}}

请参阅has helper docs