我使用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 }} · {{ post.published_at | date: '%B %d, %Y %l:%M %p' }}
{% if post.show_stream? %}
{% if post.public_activities_count > 0 %}
· <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> →</div>
{%endif %}
<hr/>
{% endfor %}
使用子页面标记将此部分包含在主页中。现在,当添加新的博客文章时,它不会出现在主页上,除非再次保存此部分内容,并且我猜测,模板的缓存渲染将被删除。
有没有办法重写子页面标签或部分模板本身,以便在每次添加博客帖子时强制重新呈现此模板?或者每次加载页面?在NationBuilder仪表板的某个地方是否存在我缺少的设置?
答案 0 :(得分:0)
您的代码看起来很好。我已经在几个使用partials动态更新的网站上工作。
我唯一的建议是确保在测试更新时在浏览器中关闭缓存。
或者,您可以使用{% tag "tag_name" with "partial" %}
语法来提取具有特定标记的帖子。但是,这需要您标记这些帖子。
Documentation for {% tag %}