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 :

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".
Or, j'ai bien les méthodes demandées dans mon entité "Image" :

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;
    }
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
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 "AdvertType":

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,));
Celui dans mon buider "ImagetType":

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$builder->add('image', FileType::class, array('label' => 'Photo'));
Et dans mon template :

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>
Quelqu'un aurait une idée de la provenance du problème?

Merci d'avance pour votre aide.