2014-12-03 4 views
0

나뭇 가지를 사용하여 사이트를 만들고 있습니다.나뭇 가지 템플릿 특정 날짜의 기사 표시

11 월에 게시 된 기사를 표시하고 싶습니다.

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

    {% for article in articles %} 

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

    {% endfor %} 

{% endif %} 

(미리 감사드립니다)

+0

당신은 추가 할 수있는'WHERE' 상태에서 데이터베이스 쿼리 기사를 필터링하기 위해 Twig를 사용하는 대신 기사를 필터링 하시겠습니까? –

답변

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 %} 
2

당신이 아닌 외부 루프의 내부 IF 절을 사용해야합니다

{% for article in articles %} 

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

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

    {% endif %} 

{% endfor %} 
관련 문제