【发布时间】:2019-12-12 12:45:02
【问题描述】:
我只想在主页上显示即将发生的事件,然后限制为三个。我能够遍历所有事件,但我无法弄清楚如何设置过滤器。
我最初设置了这个,但意识到循环在我设置的限制 3 处停止:
{% capture now %}{{ 'now' | date: "%Y-%m-%d" }}{% endcapture %}
{% for event in site.events limit:3 %}
{% capture date %}{{ event.date | date: "%Y-%m-%d" }}{% endcapture %}
{% if date >= now %}
因此,我意识到我需要完全在 for 循环之外设置过滤器,然后遍历过滤后的数组。
这是我认为可以代替的方法,但它不起作用:
{% capture now %}{{ 'now' | date: "%Y-%m-%d" }}{% endcapture %}
{% capture date %}{{ site.events | date: "%Y-%m-%d" }}{% endcapture %}
{% assign filtered_events = site.events | where_exp:"date", "date >= now" %}
{% for event in filtered_events limit:3 %}
<!--insert content-->
{% endfor %}
我知道我可能需要使用 where_exp,它返回一个过滤后的数组,我可以循环遍历该数组,但不知道如何设置它。感谢您的帮助!
【问题讨论】: