2012-09-18 23 views
6

Bu garip. Eğer {{ j }} kullanırsam, 12 sayıyı alıyorum ama Twig tarih filtresini ekleyerek "Jan" on iki kez ekosunu ekliyorum.Twig: Yılın her ayı için

Yılın tüm aylarını nasıl ekleyebilirim? Bunun yerine bir dizi oluşturmam var mı?

<select> 
{% for j in range(1, 12) %} 
    <option>{{ j|date('M') }}</option> 
{% endfor %} 
</select> 

cevap

18

Bu yüzden, tw, j'i Ocak 1970'den itibaren birkaç saniye olarak kabul eder (bu nedenle her zaman Ocak'tır). dal belgelerine

:

tarih filtre dizeleri kabul eder DateTime örneklere veya DateInterval durumlarda (bir tarafından strtotime fonksiyonunu desteklenen formatında olmalıdır).

Bu çalışması gerekir: Cyprian tarafından verilen

{% for j in range(1, 12) %} 
    <option>{{ date('2012-' ~ j ~ '-01') |date('M') }}</option> 
{% endfor %} 
2

çözüm bana fonksiyonu "tarihi"

yüzden değişti yoksa

aşağıdaki hatayı throwed

için kod
{% for j in 1..12 %} 
    <option>{{ j |date('2012-' ~ j ~ '-01') |date('M') }}</option> 
{% endfor %} 

ve bu benim için çalıştı .... Teşekkürler Cyprian