2013-06-28 7 views
22

Dal şablonumda | date ("d F, Y") filtresiyle ilgili sorun yaşıyorum.Symfony2: İsveç'te çıkış aylarına dal | date ("d F, Y") filtresi nasıl ayarlayabilirim?

Ayların İsveç'te çıkarılmasını istiyorum. Parameters.yml dosyalarımda "locale: sv" ayarlamayı denedim ama hiçbir etkisi yok.

Symfony 2.1'den 2.3'e yükseltmeden önce çalışıyordum, bu yüzden bununla ilgili bir şey olabileceğini düşünüyorum.

Bunu nasıl düzeltebileceğiniz hakkında bir fikrin var mı?

cevap

45

Twig Intl Uzatma

Sen Twig Intl Extensionfabpot 'ın resmi Twig uzantısı repository bulundu kullanabilirsiniz.

{{ date | localizeddate('full', 'none', app.request.locale) }} 

mevcut yerel üçüncü parametre olarak kullanımı app.request.locale veya 'sv':

Bu gibi kullanılabilir yerelleştirilmiş bir tarih filtresini içerir. projenize

Entegrasyon

kullanarak sizin composer.json resmi uzantıları ekleyin:

composer require twig/extensions:1.0.*@dev 
composer update twig/extensions 

config.yml

#enable intl extensions 
services: 
    twig.extension.intl: 
     class: Twig_Extensions_Extension_Intl 
     tags: 
      - { name: twig.extension } 

hızlı ipucu:

başka kullanışlı uzantısı kesmek sağlayan Metin uzantısıdır, ... vb filtreler

services: 
    twig.extension.text: 
     class: Twig_Extensions_Extension_Text 
     tags: 
      - { name: twig.extension } 
+0

Teşekkürler, şimdi bunu deniyorum, çünkü bu sitedeki tüm tarihler aynı dilde basılmalı, tekrar etmenin en iyi yolu ne olurdu {{date | her yerde yerelleştirilmiş ('full', 'none', * myLocaleValueFromParameters.yml *)}}? Bir dal makro veya dal uzantısı yazmak en iyi yol olabilir mi? – Tirithen

+1

'da önceden kurulmuş olan parameters.locale anahtarına karşı hiçbir uygulama bulunmadığından gariptir, yerelleştirilmiş tarih filtresini kullanabilir ve 'parameters.default_locale' kelimenizi global olarak kullanarak 'twig.globals.global_locale:%' yi kullanabilirsiniz. default_locale% ', sonra {{date | localizeddate ('full', 'none', global_locale)}} ' – nifr

+0

Teşekkürler! Ben bununla gidip tarih nesnesini alıp şablonlarda tekrarlamayı önlemek için localiseddate filtresiyle biçimlendiren bir twig makrosu hazırlayacağım. :) – Tirithen

2

|date filtre kullanımı destek yerel ayarları doesnt DateTime::format fonksiyonu. Bakınız this question ve kendi twig uzantınızı yazın.

+0

kendi twig uzantısı gerekli değildir :) cevabımı bakın. – nifr

+0

Eğer tüm işlevleri küçük bir işlev için dahil etmek isterseniz $) –

+0

@nifr kendi twig uzantısı gereklidir. Sağlanan cevap, twig dosyalarındaki tüm '| tarih 'filtrelerini değiştirmeyi gerektirir, bir geçici çözüm gibi değil, sağlam bir çözümdür. – Trix

İlgili konular