2011-10-03 53 views
5

我有實體在我的應用程序,其中有2場翻譯,使用Doctrine可翻譯的擴展:使用主義翻譯與Symfony的2種形式一起

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; 

/........ 
} 

我使用一個表中多個實體的翻譯。 現在我想使用一個窗體來獲取這些屬性的原始值和翻譯(1語言)值,所以它應該有4個字段。

我定義了從AbstractType派生的新表單,並嘗試使用FormBuilder添加這兩個字段,但它表示其相應實體不包含這些字段。我試圖將這些字段添加到實體中,併爲它們聲明getter,但我知道獲取實體翻譯的唯一方法是使用專用實體管理器,並且AFAIK提供實體管理器對實體的訪問權限並不是很好的做法。

有沒有辦法使用窗體來處理這樣的事情?

+1

它不知道它是否適合你的需要,但這種捆綁爲我工作的偉大https://github.com/a2lix/TranslationFormBundle – snyx

+0

你可以使用TranslationExtraBundle:https://github.com/ideea/TranslationExtraBundle 和開源項目,使用此捆綁軟件時:https://github.com/ZhukV/Nadiyka – ZhukV

+0

請從FormType發佈您的代碼。 – jovobe

回答