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 :

[Form] Afficher plusieurs attributs d'une entité


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 45
    Par défaut [Form] Afficher plusieurs attributs d'une entité
    Bonjour !
    Sur mon formulaire pour la création d'un User, j'ai ajouté l'objet 'Categorie' en tant qu'entity pour que l'utilisateur puisse choisir une ou plusieurs catégories à rattacher à son compte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $builder->add('categories', 'entity', array('class' => 'MonBundle:Categorie', 'property' => 'lib', 'multiple' => true, 'expanded' => true));
    Ca fonctionne puisque la liste de toutes les catégories est récupérée en base, puis affichée à la suite des champs de l'utilisateur, et ça s'enregistre en base quand je crée le compte (relation ManyToMany).

    J'utilise le code suivant pour afficher les catégories (label, suivi de la checkbox) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {% for categorie in form.categories %}
    	{{ form_label(categorie) }}
    	{{ form_widget(categorie) }}
    	<br/>
    {% endfor %}
    Seulement, j'aimerais ajouter la description (categorie.getDescription()) après la checkbox. Et là, j'ai beau essayer toutes les syntaxes trouvées sur les forums, je ne trouve pas la bonne...

    Est-ce seulement possible ??
    J'ai essayé des form.categories.description, seuls ou dans des boucles, categorie.getDescription(), etc...
    Help !!

  2. #2
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 45
    Par défaut
    Bon, j'ai farfouillé sur pleins de forum, mais rien, nib, que dalle...

    Solution de secours :
    * j'ai retiré le 'property' => 'lib', afin que label s'affiche à l'aide de la méthode __toString() de l'objet Categorie.
    * j'ai ajouté la méthode __toString() à l'objet Catégorie, en concaténant lib+description
    * et j'ai modifié l'aspect de ma page, pour obtenir un affichage "à peu près" correct...

    Pas mieux...

  3. #3
    Membre émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Par défaut
    Bonjour,

    à partir de Sf2.1, pas trés digeste mais ça fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    {% for fieldCategorie in form.categories %}
    	{{ form_label(fieldCategorie) }}
    	{{ form_widget(fieldCategorie) }}
    
            {% set idCategorie=fieldCategorie.vars.value %} {#clé primaire et attribut value de l'input#}
            {% set categorie=form.categories.vars.choices[idCategorie].data %}{#récupération de l'entité grâce à sa clé #}
            {{categorie.description}}{#affichage de la méthode désiré de l'entité#}
           {#ou bien en condensé#}
           {{form.categories.vars.choices[fieldCategorie.vars.value].data.description}}
    	<br/>
    {% endfor %}
    form.categories.vars.choices est un tableau d'objet ChoiceView cf https://github.com/symfony/symfony/b...ChoiceView.php

Discussions similaires

  1. Comment afficher plusieurs elements dans une meme alert()
    Par monphp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/05/2007, 22h46
  2. Afficher plusieur colonnes sur une seule colonne ?
    Par Interruption13h dans le forum Langage SQL
    Réponses: 4
    Dernier message: 04/02/2007, 16h57
  3. Afficher plusieurs colonnes dans une ListBox
    Par codial dans le forum Bases de données
    Réponses: 11
    Dernier message: 23/01/2007, 12h48
  4. Afficher plusieurs champs dans une listbox
    Par fabien.benard dans le forum IHM
    Réponses: 2
    Dernier message: 14/11/2006, 16h37
  5. Réponses: 5
    Dernier message: 07/09/2006, 12h33

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