我正在尝试为变量分配日期,以便分解布局。也许有更好的方法来做到这一点,所以请随意推荐替代品。
我有一个news_items的模型,有一个名为news_date的日期字段。我想浏览每个模型条目,并在遇到新年时开始新的部分。我的计划很基本:
{% assign curYear = "" %}
{% for news in contents.news_items %}
{% assign prevYear = curYear %}
{% assign curYear = news.news_date.year %} <-- this does not work
{% if prevYear != curYear %}
<h1>Press Releases for {{ news.news_date | format_date: '%Y' }}</h1>
{% endif %}
<p>{{curYear}}</p> <-- this is always empty
<p>{{news.content}}</p>
{% endfor %}
我尝试了各种其他语法,比如Time.parseTime(news.news_date).year
,但看起来你不能做任意Ruby in Liquid。有没有办法实现我想要的,在这里?
感谢您的协助!
答案 0 :(得分:0)
感谢Google群组中有用的人员,我指出了capture
标记,该标记会将页面上输出的内容捕获到变量中:
而不是这个(或我用assign
尝试的各种迭代):
{% assign curYear = news.news_date.year %}
这非常有效,利用了format_date
过滤器:
{% capture curYear %} {{ news.news_date | format_date: '%Y' }} {% endcapture %}