将自定义字段日期分配给LocomotiveCMS中的变量

时间:2012-08-31 23:03:12

标签: ruby-on-rails ruby liquid locomotivecms

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

我有一个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。有没有办法实现我想要的,在这里?

感谢您的协助!

1 个答案:

答案 0 :(得分:0)

感谢Google群组中有用的人员,我指出了capture标记,该标记会将页面上输出的内容捕获到变量中:

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

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

这非常有效,利用了format_date过滤器:

{% capture curYear %} {{ news.news_date | format_date: '%Y' }} {% endcapture %}