2011-10-03 9 views
5

Mam podmiot, w mojej aplikacji, która ma 2 przetłumaczenia pól, za pomocą Doktryna tłumaczyć rozszerzenia:Korzystanie doktryna tłumaczyć wraz z Symfony 2 formach

class Page implements Translatable 
{ 
    /...... 

    /** 
    * @var string $name 
    * @Gedmo\Translatable 
    * @ORM\Column(name="name", type="string", length=255) 
    */ 
    private $name; 

    /** 
    * @var text $content 
    * @Gedmo\Translatable 
    * @ORM\Column(name="content", type="text") 
    */ 
    private $content; 

/........ 
} 

używam jednej tabeli dla wielu podmiotów tłumaczeń. Teraz chciałbym użyć formularza jeden, aby uzyskać oryginalne i przetłumaczone (na 1 język) wartości tych atrybutów, więc powinien on mieć 4 pola.

Zdefiniowałem nowy formularz pochodzący z AbstractType i próbowałem dodać te 2 pola za pomocą FormBuilder, ale mówi, że ich odpowiednie jednostki nie zawierają tych pól. Próbowałem dodać te pola do encji i deklarować dla nich pobierające, ale jedyny sposób, w jaki wiem, aby uzyskać tłumaczenia dla podmiotów, to użycie dedykowanego menedżera encji, a AFAIK zapewniający podmiotowi zarządzającemu dostępem do encji nie jest dobrą praktyką.

Czy istnieje sposób korzystania z formularzy do obsługi takich rzeczy?

+1

to nie wiem, czy to pasuje do Twoich potrzeb, ale ten pakiet pracował wielki dla mnie https://github.com/a2lix/TranslationFormBundle – snyx

+0

Twój może korzystać TranslationExtraBundle: https://github.com/ideea/TranslationExtraBundle I projekt open source, kiedy korzystać z tego pakietu: https://github.com/ZhukV/Nadiyka – ZhukV

+0

Proszę zaksięgować swój kod z FormType. – jovobe

Odpowiedz