![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 16.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam kolejny problem logistyczny. Zadanie wydaje się proste, formularze mają mieć tłumaczenia opisów pól. Wszystko wydaje się proste, w szablonie *.twig czegoś w rodzaju: i po sprawie. Z formualrzami już nie ma tak prosto, bo formualrz domyślnie może wyglądać tak: ...więc trzeba by zdefiniować odpowiednie teksty w samym pliku formularza *Type.php. Tylko, że tam nie mam dostępu do metody $this->get('translate'). Możecie mi podpowiedzieć, jakiś sposób tłumaczenie? Może to kwestia dodefiniowania czegoś w formularzu? Mnie przychodzi albo tłumaczenie po stronie pliku twig każdego pola oddzielnie albo podmiana form_label(filter_form) podobnie jak podają na stronie http://symfony.com/doc/current/cookbook/fo...to-field-labels Chyba, że mogę uzyskać dostęp do obiektu translatora jakoś z poziomu pliku *Type.php Ciągle się uczę, proszę więc o wyrozumiałość. To pewnie jest oczywiste jak już się to wie. -- Znalazłem coś takiego: http://sf.khepin.com/2012/01/form-label-tr...n-in-symfony-2/ Warto przetestować... -- Niestety powyższa metoda kiepsko sobie radzi z polami entity kiedy mają być pokazane jako chceckboxy. Są wtedy tłumaczone wartości a nie sam opis pola. -- Ostatecznie rzecz rozwiązałem średnio fajnie, ale działa i działa tak jak chcę. Może komuś się przyda. W kontrolerze po utworzeniu obiektu fotmularza przekazuję obiekt z translatorem:
Same tłumaczenia umieściłem w Resources\translations\messages.pl.yml dzięki czemu nie muszę niczego więcej podawać translatorowi. W samej klasie TextFilterType jest po prostu metoda:
oczywiście gdzieś wcześniej deklaruję private $tr; w samym formularzu używam już tylko
Osobiście uważam, że to duże niedopatrzenie, że muszę dookoła trochę rzecz robić. W końcu opisy pól zwyke też się tłumaczy a zalecenie jest, żeby korzystać właśnie z katalogu Form do trzymania tam formatek. Jeśli ktoś ma lepsze rozwiązanie, to poproszę bardzo, nawet na priv jakoś. Ten post edytował rcetra 25.01.2012, 12:57:10 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 11:32 |