0

私は自分のエンティティを A2LiX I18n Doctrine で翻訳し、A2lixTranslationBundle で編集/作成していますが、多対多関係に問題があります。

製品.php

/**
* @ORM\ManyToMany(targetEntity="hello\PlatformBundle\Entity\Base", cascade={"persist"})
*/
private $bases;

電話、住所などの翻訳不可能な情報を含む Base.php と、名前や説明などの翻訳可能な情報を含む BaseTranslation.php があります。製品フォームに追加して 1 つ以上のベースを選択したいのですが、翻訳可能な名前にアクセスできず、製品の情報にしかアクセスできません。

->add('base',         'entity', array(
            'class'     => 'HelloPlatformBundle:Base',
            'property'  => 'city',
            'multiple'  => true,
            'expanded'  => true,
            ))

これは、city が Base.php にあるため機能します。

->add('base',         'entity', array(
            'class'     => 'HelloPlatformBundle:Base',
            'property'  => 'name',
            'multiple'  => true,
            'expanded'  => true,
            ))

これは、名前が BaseTranslation.php にあるためではありません。これは、名前にアクセスして、製品フォームのチェックボックスを使用してすべての責任ベースの名前を表示する方法ですか?

4

1 に答える 1

0

試す

->add('base', 'a2lix_translatedEntity', array(
     'class'     => 'HelloPlatformBundle:Base',
     'translation_property'  => 'name',
     'multiple'  => true,
     'expanded'  => true,
 ))

http://a2lix.fr/bundles/translation-form/#bundle-additionalで説明されているように、現在の実装では、現在のロケールの翻訳が存在する必要があります。

于 2014-11-24T21:22:26.590 に答える