Bonjour,
Afin de pouvoir lier plusieurs photos à une annonce dans un seul et même formulaire, j'utilise VichUlpoad. Cependant, lorsque je tente de générer mon template "AddAdvert.html.twig", j'ai l'erreur suivante :
Or, j'ai bien les méthodes demandées dans mon entité "Image" :Twig_Error_Runtime:
Neither the property "imageFile" nor one of the methods "imageFile()", "getimageFile()"/"isimageFile()"/"hasimageFile()" or "__call()" exist and have public access in class "Symfony\Component\Form\FormView".
Voici le code utile dans mon controller :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public function getImageFile() { return $this->imageFile; } public function setImage($image) { $this->image = $image; }
Celui dans mon buider "AdvertType":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 if (!$advert) { $advert = new Advert; $image1 = new Image(); $advert->addImage($image1); $image2 = new Image(); $advert->addImage($image2); } $form = $this->createForm(AdvertType::class, $advert); $form->handleRequest($request);
Celui dans mon buider "ImagetType":
Code : Sélectionner tout - Visualiser dans une fenêtre à part $builder->add('images', CollectionType::class, array('entry_type' => ImageType::class, 'entry_options' => array('label' => false), 'allow_add' => true,));
Et dans mon template :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $builder->add('image', FileType::class, array('label' => 'Photo'));
Quelqu'un aurait une idée de la provenance du problème?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <h3>Photos</h3> <ul class="images" data-prototype="{{ form_widget(formAdvert.images.vars.prototype)|e('html_attr') }}"> {# iterate over each existing image#} {% for image in formAdvert.images %} <li>{{ form_widget(formAdvert.images.vars.prototype.imageFile)|e }}</li> {% endfor %} </ul>
Merci d'avance pour votre aide.
Partager