Twig sam z siebie ma sporo wygodnych funkcji, ale kilka bardzo przydatnych udogodnień nie trafiło do głównej biblioteki lecz do osobnej paczki Twig Extensions. W wypadku standardowej aplikacji Symfony2 te rozszerzenia już są uwzględnione w composer.json
, ale jeśli nie to można jest zainstalować poleceniem:
composer require twig/extensions ~1.1.0
Trzeba je także włączyć w konfiguracji aplikacji, tak jak każde inne rozszerzenie Twiga:
services: twig.extension.intl: class: Twig_Extensions_Extension_Intl tags: - { name: twig.extension }
Powyższy przykład dodaje rozszerzenie Intl, które podobnie jak biblioteka Intl ułatwia formatowanie danych zgodnie z ustawieniami lokalizacji. Obecnie w Twig Extensions dostępne są następujące klasy:
- Twig_Extensions_Extension_Array
- Twig_Extensions_Extension_Date
- Twig_Extensions_Extension_I18n
- Twig_Extensions_Extension_Intl
- Twig_Extensions_Extension_Text
Przy założeniu, że aplikacja ma ustawione polską lokalizację to wyświetlenie daty w postaci „13 listopada 2014” wygląda tak:
{{ meeting.date|localizeddate('long', 'none') }}
Wyświetlenie liczby z częścią dziesiętną:
{{ player.power|round(2)|localizednumber }}
Przy korzystaniu z filtra localizednumber
tylko liczby z częścią ułamkową będą wyświetlane z przecinkiem, a liczby całkowite są wyświetlane bez przecinka.