0

我正在尝试将日期分配给变量,以分解布局。也许有更好的方法可以做到这一点,所以请随意推荐替代方案。

我有一个 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,但似乎你不能在 Liquid 中做任意的 Ruby。有什么方法可以实现我想要的吗?

感谢你的协助!

4

1 回答 1

0

感谢 google 小组的一位乐于助人的人,capture向我指出了该标签,它将原本会在页面上输出的内容捕获到一个变量中:

而不是这个(或我尝试过的各种迭代assign):

{% assign curYear = news.news_date.year %} 

这工作得很好,利用了format_date过滤器:

{% capture curYear %} {{ news.news_date | format_date: '%Y' }} {% endcapture %}
于 2012-09-02T00:19:50.440 回答