У меня есть форма с полями, которые переведены. Одно из этих полей представляет собой файл, который необходимо загрузить (у каждого языка свой файл).
Я использую «stof/doctrine-extensions-bundle» и «a2lix/translation-form-bundle», а также для загрузки файлов «vich/uploader-bundle» с помощью symfony2.
нашел этот 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,
)
])