3

Translatable Doctrine extensionを使用して翻訳された Doctrine エンティティがあります:

<?php
namespace Myapp\ProductBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Gedmo\Translatable\Translatable;

/**
 * @ORM\Table(name="product_property")
 * @ORM\Entity()
 * @Gedmo\TranslationEntity()
 */
class Property implements Translatable
{
    /**
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @Gedmo\Translatable
     * @ORM\Column(name="name", type="string", length=255)
     */
    private $name;

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

    /**
     * @Gedmo\Locale
     * 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);
        }
    }
}

ここで、翻訳で利用可能な各言語で「name」プロパティの入力フィールドを含むフォームをレンダリングしたいと考えています。

それはどのように行うのが最善ですか?

4

1 に答える 1

4

次のバンドルは、まさに私が探していたものを実行できるようです: https://github.com/a2lix/TranslationFormBundle

ここに画像の説明を入力

于 2013-01-02T16:19:56.203 に答える