树枝模板显示特定日期的文章

时间:2014-12-03 11:16:21

标签: php twig

我正在使用twig php模板制作网站。

我想展示11月发表的文章。 到目前为止,我有这个:

{% if date(article.published) == date('november') %}

    {% for article in articles %}

    <li> <a href="/articles/{{ article.slug }}">{{ article.title }}</a> </li>

    {% endfor %}

{% endif %} 

(提前致谢)

2 个答案:

答案 0 :(得分:2)

你应该在循环内使用IF子句,而不是在它之外:

{% for article in articles %}

    {% if date(article.published) == date('november') %}

        <li> <a href="/articles/{{ article.slug }}">{{ article.title }}</a> </li>

    {% endif %} 

{% endfor %}

答案 1 :(得分:1)

您正在寻找:

{% 
   if article.published|date('U') > '2014-11-01'|date('U')
   and article.published|date('U') < '2014-12-01'|date('U')
%}

date('U')过滤器会将日期转换为时间戳格式(自1970-01-01以来的秒数),因此我们可以从此处进行一些日期比较并过滤2014-11-01和2014之间的所有日期-11-31 23:59:59。

正如@Giedrius指出的那样,你应该把if放在循环中。

这变为:

{% for article in articles %}

    {% 
       if article.published|date('U') > '2014-11-01'|date('U')
       and article.published|date('U') < '2014-12-01'|date('U')
    %}

        <li> <a href="/articles/{{ article.slug }}">{{ article.title }}</a> </li>

    {% endif %} 

{% endfor %}