Bonjour,

Je souhaite pouvoir afficher le chemin et la photo d'un article quand j'édite ce dernier. Je me suis donc inspiré de la doc symfony "Form Type Extension" https://symfony.com/doc/3.4/form/cre...extension.html
Ce que je fais

J'ai un form ArticlesType (lié a l'entité article) qui utilise la classe MediaType::class pour definir le formulaire Mediatype.php specifique aux photos

//dans ArticlesType.php
-
Code : Sélectionner tout - Visualiser dans une fenêtre à part
>add('image', MediaType::class)
//dans Mediatype.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
->add('image', FileType::class, array('data_class' => null,
                                                  'required' => false,
                                                  'label' => 'Illustration de l\'article',
                                                  'image_property' => 'AssetPath')
image_property' => 'AssetPath' me permet de "lier" mon formulaire media à ImageTypeExtension où je fais un buildView afin de retrouver l'URL des photos

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public function buildView(FormView $view, FormInterface $form, array $options)
    {   
// this will be whatever class/entity is bound to the form (e.g. Media)
            $parentData = $form->getParent()->getData();
            $imageUrl = null;
            if (null !== $parentData) {
                $accessor = PropertyAccess::createPropertyAccessor();
 
                $imageUrl = $accessor->getValue($parentData, 'AssetPath');
                //dump($imageUrl);
                die(var_dump($imageUrl));
            }
            // sets an "image_url" variable that will be available when rendering this field
            $view->vars['image_url'] = $imageUrl;
Ce que je veux

$imageUrl renvoie bien l'URL, mais du fait de l'imbrication de Mediatype dans ArticlesType, $view->vars['image_url'] n'envoie pas cette variable à la vue.
Ce que j'obtiens

dans la vue,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
{% if image_url is not null %}
        <img src="{{ asset(image_url) }}"/>
    {% endif %}
renvoie une erreur puisque twig ne trouve pas image_url.

Comment faire passer $imageUrl à la vue ?