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 :

Débutant : formulaire imbriqué et twig ? [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 150
    Points : 157
    Points
    157
    Par défaut Débutant : formulaire imbriqué et twig ?
    Bonjour,

    J'ai un champ de type collection qui est contrôler par du javascript permettant l'ajout ou la suppression d'un élément. Je rencontre un problème pour customiser les champs de ma collection individuellement...

    A l'heure actuel si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {{  form_widget(form.telephones) }}
    le rendu est effectivement TOUS mes champs input avec la possibilité d'ajouter/supprimer un champ, cependant comment modifier le style d'un champ spécifique ?

    Pour les type de champ qui ne sont pas une collection je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {{ form_label(form.nom) }}
                    {{ form_widget(form.nom) }}
                    {{ form_errors(form.nom) }}
    Un procédé similaire avec les champs de type collection résoudrai mon problème, merci pour votre aide !

  2. #2
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    yooo rasta man,

    faut utiliser le theming

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 150
    Points : 157
    Points
    157
    Par défaut
    Yoo merci pour ta réponse, je n'y croyé plus !

    Suite à ta réponse j'ai donc chercher quel fichier contient la partie que je dois surcharger, je suis donc venu à écrire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    {% block mon_widget %}
            <div class="row">
                {{form_widget(form.get('prototype').???)}}
            </div>
    {% endblock %}
     
    {% block collection_widget %}
        {% spaceless %}
            {% if prototype is defined %}
                {% set attr = attr|merge({'data-prototype': block('mon_widget') }) %}
            {% endif %}
            {{ block('form_widget') }}
        {% endspaceless %}
    {% endblock collection_widget %}
    Peux-tu me donné des précisions ? notamment ce que je dois mettre à la place des points d'intérrogation, ces un peu flou tous ça pour moi, merci !

  4. #4
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    yooo mann,

    c'est pas bon ton code.

    se serait trop long à t'expliquer, potasse bien la doc et sache que tu n'a pas besoin des prototypes pour ton cas donc vire le code des themes

    ensuite du as besoin du theming de collection_widget et collection_widget_row

    ces 2 thèmes tu va préciser à quel collection il doit s'appliquer avec tout le bordel d'identifiant que tu as pu lire :

    _identifiant

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 150
    Points : 157
    Points
    157
    Par défaut
    Dac, tu n'a pas des liens me permetterons d'arriver à ma fin ?

  6. #6
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    yééééaa man, rastafariiiiiiiiiiiiiii

    comme je suis bon voici un exemple, le plus dure étant d'identifier ta collection: "_aaa_bbb_widget" est bien sur un exemple

    renseigne toi comment bien écrire l'identifiant de ta collection "_aaa_bbb_widget"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    {% block _aaa_bbb_widget %}
        {% spaceless %}
            <div {{ block('widget_container_attributes') }}  style="background: red;">              // LE CONTENEUR DE L'AFFICHAGE DE TOUTE LES LIGNES DE TA COLLECTION
                {{ form_errors(form) }}
                {% for child in form %}
                    {{ block('collection_widget_row2') }}
                {% endfor %}
                {{ form_rest(form) }}
            </div>
        {% endspaceless %}
    {% endblock %}
     
    {% block collection_widget_row2 %}
        {% spaceless %}
            <div class="uneClasseY"   style="border: 1px solid yellow;">                   //  CHAQUE LIGNE DE TA COLLECTION
               [** {{ form_widget(child) }}**]
            </div>
        {% endspaceless %}
    {% endblock %}




    perso, je trouve la doc, les tutos très pauvre et on y comprends rien à ce sujet. c'est le seul sujet dqns Symfony ou c'est très mal expliqué les prototypes et le form theming.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 150
    Points : 157
    Points
    157
    Par défaut
    C'est bon pour moi rastaaa-maan, merci

    J'ai juste une dernière question, vu que je n'ai plus d'attribut data-prototype comment je lis l'ajout/suppression des différents champ collection ?

  8. #8
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    yoooo rastafariiiiiiiiiiiiiiiiiii,


    cela va de sois que si tu veux utiliser les prototype allow_add et allow_delete il faut laisser le code des prototypes
    moi je prefere faire sans !! parceque c'est mal documenté si on veux personnaliser le ADD et DELETE etc...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/05/2006, 15h41
  2. [Débutant] Formulaires et masques de saisie
    Par Fingo dans le forum Access
    Réponses: 4
    Dernier message: 24/03/2006, 14h16
  3. [Débutant] Formulaire affichage double
    Par hudsson dans le forum Access
    Réponses: 8
    Dernier message: 21/03/2006, 18h42
  4. formulaire imbriqué
    Par jani dans le forum Langage
    Réponses: 9
    Dernier message: 18/01/2006, 15h40
  5. [Débutant]Boucle imbriquée avec des bornes différentes
    Par Hayato dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 29/08/2005, 16h23

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