翻訳されたフィールドを持つフォームがあります。このフィールドの 1 つはファイルです。アップロードする必要があります (言語ごとに異なるファイルがあります)。
私は 'stof/doctrine-extensions-bundle' と 'a2lix/translation-form-bundle' を使用しており、symfony2 でファイル 'vich/uploader-bundle' をアップロードするために使用しています。
このhttps://github.com/a2lix/TranslationFormBundle/issues/83を見つけましたが、機能していません
Maximum function nesting level of '100' reached, aborting!
マイ カタログ エンティティ:
/**
* Catalog.
*
* @ORM\Entity()
* @ORM\Table("catalog")
*
* @Vich\Uploadable
*
* @Gedmo\TranslationEntity(class="Entity\Catalog\CatalogTranslation")
*/
class Catalog
{
/**
* @var int
*
* @ORM\Column(type="integer")
* @ORM\Id()
* @ORM\GeneratedValue()
*/
private $id;
/**
* @var string
*
* @ORM\Column()
*
* @Gedmo\Translatable()
*
* @Assert\NotBlank()
*/
private $name;
/**
* @var File
*
* @Vich\UploadableField(mapping="product_image", fileNameProperty="imageName")
*
* @Assert\Image(maxSize = "4M")
*/
protected $imageFile;
/**
* @var string
*
* @ORM\Column(nullable=true)
* @Gedmo\Translatable()
*/
protected $imageName;
/**
* @ORM\OneToMany(
* targetEntity="CatalogTranslation",
* mappedBy="catalog",
* cascade={"persist", "remove"}
* )
*/
private $translations;
}
フォームを作成するときにこれも試しました:
->add('imageName', 'a2lix_translationsForms', [
'form_type' => 'vich_file',
'form_options' => array(
'required' => true,
'mapping' => 'product_image',
'allow_delete' => true,
'download_link' => true,
)
])