如何编写显示未缓存内容的NationBuilder部分模板?

时间:2015-10-01 05:46:04

标签: templates caching liquid nationbuilder

我使用Liquid模板语言为NationBuilder编写了一个部分模板(据我所知,Liquid是唯一的选择)。

<h2 class="latest"><a href="/blog">News</a></h2>
{% for post in page.blog.most_recent_blog_posts limit:3 offset:0 %}
  <div style="font-weight: bold; font-size: 16px;"><a href="{{ post.url }}">{{ post.headline }}</a></div>
  <div class="byline">
  {{ post.author.published_name_linked }} &middot; {{ post.published_at | date: '%B %d, %Y %l:%M %p' }}
  {% if post.show_stream? %}
    {% if post.public_activities_count > 0 %}
    &middot; <a href="{{ post.url }}#reactions">{{ post.public_activities_count }} reaction{% if post.public_activities_count > 1 %}s{% endif %}</a>
    {% endif %}
  {% endif %}
  </div>

  {% if post.blog_post.content.size > 0 %}
    {{ post.blog_post.content }}
    {% else %}
        <p />
  {% endif %}
    {% if post.blog_post.content_flip.size > 0 %}
    <div class="continue_reading"><a href="{{ post.url }}">Read more</a> &rarr;</div>
    {%endif %}
  <hr/>
{% endfor %}

使用子页面标记将此部分包含在主页中。现在,当添加新的博客文章时,它不会出现在主页上,除非再次保存此部分内容,并且我猜测,模板的缓存渲染将被删除。

有没有办法重写子页面标签或部分模板本身,以便在每次添加博客帖子时强制重新呈现此模板?或者每次加载页面?在NationBuilder仪表板的某个地方是否存在我缺少的设置?

1 个答案:

答案 0 :(得分:0)

您的代码看起来很好。我已经在几个使用partials动态更新的网站上工作。

我唯一的建议是确保在测试更新时在浏览器中关闭缓存。

或者,您可以使用{% tag "tag_name" with "partial" %}语法来提取具有特定标记的帖子。但是,这需要您标记这些帖子。 Documentation for {% tag %}