IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Erreur pas de getter associé dans mon template [4.x]


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut Erreur pas de getter associé dans mon template
    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.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    Bonsoir,

    j ai pas utilisé avant le VichUlpoad mais je confirme que le message d'erreur viens quand on utilise dans form_widget de twig quelque chose qui n'existe pas dans les formType parce que en faite le FormBuilder n'est qu une description de ton formulaire en twig.

    Bref dans les formType , tu as mis images et image alors que dans twig tu veux l'affichage de imageFile qui est inconnu .

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut
    Merci beaucoup pour ton aide.

    Entre-temps, j'avais trouvé la solution en faisant ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <li>{{ form_widget(formAdvert.images.vars.prototype)|e('html_attr') }}</li>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [1.x] Ne pas inclure le footer et le header dans mon template.
    Par g_escande81 dans le forum Symfony
    Réponses: 3
    Dernier message: 24/02/2011, 12h52
  2. Réponses: 7
    Dernier message: 02/03/2009, 17h42
  3. Erreur sur l'installation OEM10g dans mon ConfigToolFailedCommands
    Par TAMBOOH dans le forum Entreprise Manager
    Réponses: 1
    Dernier message: 17/12/2008, 11h57
  4. erreur a la derniere ligne dan mon script session
    Par chochatown dans le forum Langage
    Réponses: 15
    Dernier message: 15/04/2007, 13h56
  5. Réponses: 7
    Dernier message: 25/01/2006, 21h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo