可翻译 Doctrine 实体的 Symfony 表单

2022-01-16 00:00:00 php symfony doctrine symfony-forms

我有一个使用可翻译的Doctrine扩展翻译的Doctrine实体:

I have a Doctrine entity that has been translated using the Translatable Doctrine extension:

<?php
namespace MyappProductBundleEntity;

use DoctrineORMMapping as ORM;
use GedmoMappingAnnotation as Gedmo;
use GedmoTranslatableTranslatable;

/**
 * @ORMTable(name="product_property")
 * @ORMEntity()
 * @GedmoTranslationEntity()
 */
class Property implements Translatable
{
    /**
     * @ORMColumn(name="id", type="integer")
     * @ORMId
     * @ORMGeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @GedmoTranslatable
     * @ORMColumn(name="name", type="string", length=255)
     */
    private $name;

    /**
     * @ORMOneToMany(
     *   targetEntity="PropertyTranslation",
     *   mappedBy="object",
     *   cascade={"persist", "remove"}
     * )
     */
    private $translations;

    /**
     * @GedmoLocale
     * Used locale to override Translation listener`s locale
     * this is not a mapped field of entity metadata, just a simple property
     */
    private $locale;


    public function setTranslatableLocale($locale)
    {
        $this->locale = $locale;
    }

    public function getTranslations()
    {
        return $this->translations;
    }

    public function addTranslation(PropertyTranslation $t)
    {
        if (!$this->translations->contains($t)) {
            $this->translations[] = $t;
            $t->setObject($this);
        }
    }
}

现在,我想以我的翻译中可用的每种语言呈现一个带有名称"属性输入字段的表单.

Now, I'd like to render a form with an input field for the "name" property in each of the languages available in my translation.

如何做到最好?

推荐答案

似乎以下捆绑软件能够完全满足我的要求:https://github.com/a2lix/TranslationFormBundle

It seems that the following bundle is able to do exactly what I was looking for: https://github.com/a2lix/TranslationFormBundle

相关文章