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 :

sfForm tableau de tableau dans le nom des widget


Sujet :

Symfony PHP

  1. #1
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut sfForm tableau de tableau dans le nom des widget
    Bonjour,

    J'essaie d'utiliser un tableau pour nommer mes widgets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->setWidget('example[0]',  ....
    En plus, j'utilise déjà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->widgetSchema->setNameFormat('test[%s]');
    Le formatage HTML est correct.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    name="test[example][0]"
    Lors de la validation j'ai cette erreur
    Unexpected extra form field named "example".
    Merci,
    Dorian

  2. #2
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    Par $this->embedForm() ça semble fonctionner.

    Est-ce la seule solution ?

  3. #3
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    L'objet sfWidgetFormSchema qui gère les widgets dans un objet form implémente "arrayAccess" pour simuler l'utilisation d'un tableau. De ce fait, il n'accepte pas de tableau en entrée.

    Pourquoi diantre souhaites-tu mettre les widgets dans un tableau a toi avant de les insérer dans le WidgetFormSchema ?

  4. #4
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    Parce que je génère des checkbox dans une boucle avec un nom qui me sert d'id.

    Lorsque je parse le POST il est beaucoup simple de récupérer l'id dans un tableau qu'avec un nom formaté type check_id ou checkID, etc.

  5. #5
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Soit tes checks box sont issues d'une liaison n-n et dans ce cas là le sfWidgetFormDoctrineChoice fait tous le travail pour toi avec en prime un validator.

    Soit tu considères avoir une liste de case (vue comme des enregistrements indépendants) et il faut alors envisager d'utiliser les form imbriqués. Un peu ce que tu fais, mais ce sont des forms qui sont en fait imbriqués, le même, plusieurs fois, avec tous les avantages d'un form, entre autre, son/ses validateurs...

  6. #6
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    Est-il possible d'utiliser sfWidgetFormDoctrineChoice sachant que j'utilise sfForm en standalone (je n'ai pas réussi à trouver de bon article sur ce composant).

    As-tu des ressources à son sujet ?

    Merci

  7. #7
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    sfForm en standalone je n'ai jamais tenté l'expérience. Il est vrai qu'intégré avec doctrine la puissance est tel que je n'ai jamais imaginé trouver un intérêt à une autre utilisation.

    Donc aucune idée sur l'utilisation de sfWidgetFormDoctrineChoice sans symfony.

    Il me semble indispensable d'avoir form et doctrine. Les deux peuvent s'utiliser sans symfony. Mais comment va marcher la liaison entre les deux sans la gestion des paramètres de configurations et des routes par symfony, aucune idée.

    Il semblerait que dans la 1.4 et encore plus la 2.0 il existe des passerelles entre symfony et d'anciennes applications pour permettre un passage en douceur vers des applications tout symfony, c'est peut-être aussi une idée.

  8. #8
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    (J'utilise également doctrine mais pas au sein de symfony)

    Au final je ne sais pas ce que fait ce composant sfWidgetFormDoctrineChoice.
    J'ai cru voir qu'il gérait automatiquement des listes ou checkbox avec des liens de parenté ?

    Mais on s'éloigne un peu de la question de départ. J'ai réussi avec un form embed à réaliser ce que je voulais mes mon second form n'est pas intégré au premier au niveau de la hiérarchisation des données POST.

    J'ai bien deux tableaux
    $_POST['form1']
    $_POST['form_embed']

    Donc impossible de répondre au besoin du topic de départ.

    Une idée ?

  9. #9
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    C'est parce que tu n'utilise que la moitié de l'objet form.

    Pour l'utiliser essaye de faire un bind avec les données récupérée, sous windows on utiliserais un objet de type sfRespond, je suppose que c'est aussi possible avec $_post, il attend un tableau, mais dans le cas de formulaires imbriqués je n'ai jamais regardé le format du tableau retourné par le sfRespond.

    Donc tu bind les données à ton form principale (qui répercute dans les imbriqués). En prime tu as la vérification de la validité de toutes les données. Et pour parfaire la chose, tu récupères tes données propres dans l'objet form (et pas dans le $_post où elles ne sont ni validées, ni nettoyées).

    Et tu les récupères dans le style $form['embedForm']['field'].

  10. #10
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    De quelle problématique parles-tu dans cette réponse ?
    Je n'ai pas compris cette intervention.
    Merci

  11. #11
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Du problème de retour des données dans le $_POST et de l'absence d'imbrication de tableau.

Discussions similaires

  1. Caractères spéciaux dans le nom des tables
    Par xx_FiFty_xx dans le forum Requêtes
    Réponses: 4
    Dernier message: 25/06/2008, 12h30
  2. Faut-il utiliser des underscores ou des espaces dans les noms des fichiers ?
    Par Invité dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 07/05/2008, 19h23
  3. pb de domaine dans le nom des db links
    Par thn311 dans le forum Administration
    Réponses: 1
    Dernier message: 23/01/2008, 13h53
  4. Génération de $ dans le nom des .class générées
    Par mrfirefunk dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 05/12/2007, 16h44

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