2011-10-03 103 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

回答