0

我使用 A2LiX I18n Doctrine 翻译我的实体,并使用 A2lixTranslationBundle 编辑/创建它,但我在 ontomany 和 manytomany 关系上有问题。

产品.php

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

我有一个带有不可翻译信息的 Base.php,如电话、地址……和一个带有可翻译信息(如名称和描述)的 BaseTranslation.php。我想将它添加到我的产品表单中以选择一个或多个碱基,但我无法访问可翻译的名称,只能访问产品中的信息。

->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 中。这是一种访问 name 以在我的 Product 表单上使用复选框显示所有 disponible base 名称的方法?

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 回答