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 :

Donner une valeur par défaut à dans une liste [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2008
    Messages : 20
    Points : 15
    Points
    15
    Par défaut Donner une valeur par défaut à dans une liste
    Cette discussion était à deux doigts de me procurer l'information que je cherche.
    Je suis en train de créer un formulaire indépendant de la base de données, chargé de filtrer l'affichage en cours par "départements".
    Pour faire au plus simple j'ai mis un sfWidgetFormChoice avec ma liste de départements :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $departements = Doctrine_Core::getTable('Representation')->getDepartements($this->getOption('region'));
     
    $this->widgetSchema['departements'] = new sfWidgetFormChoice(array(
    			'choices'  => $departements,
    			'expanded' => true,
    			'multiple' => true
    		));
    Le formulaire s'affiche parfaitement bien, mais j'ai besoin, en fonction des préférences de l'utilisateur de cocher ou décocher certains des items.
    Y'a t'il un moyen de cibler individuellement les éléments du Widget pour leur attribuer une valeur par défaut via setDefault() ?

  2. #2
    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
    Cela dépend du type de form utilisé.

    Est-ce un form basé sur doctrine ou un form libre ?
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2008
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Michel Rotta Voir le message
    Est-ce un form basé sur doctrine ou un form libre ?
    C'est un formulaire libre. J'ai vu que vous donniez une solution pour un formulaire basé sur Doctrine (utiliser les champs par défaut), mais je n'ai rien trouvé concernant mon cas.

    Il faut dire que je ne savais pas que cela s'appelait formulaire "libre". J'ai essayé avec indépendant et ça ne donnait rien... évidemment.

  4. #4
    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
    Je ne suis pas sur que la dénomination officiel soit "libre" mais face à dépendant, c'est un terme que j'utilise...

    Il faut utiliser la méthode setDefault() tout simplement.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2008
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    Merci de m'avoir mis sur la voie. J'avais bien tenté setDefault() mais je n'arrivais pas à trouver l'ordre des arguments dans le cas d'un sfWidgetFormChoice.

    Ceci fonctionne dans le cas que j'ai précisé ci-dessus
    ($index est la valeur 0-indexée du département dont je veux modifier la valeur par défaut):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->widgetSchema['departements']->setDefault($index, true);
    Je n'ai pas trouvé le moyen d'affecter une valeur par défaut à l'ensemble des choix du widget, sous forme dans tableau par exemple, mais ça marche.

  6. #6
    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
    Citation Envoyé par sebastien.bd Voir le message
    Je n'ai pas trouvé le moyen d'affecter une valeur par défaut à l'ensemble des choix du widget, sous forme dans tableau par exemple...
    Ceci n'est pas possible.

    Sauf si tu dois le faire dans de nombreux form libre. Tu peux alors créer un dérivé de sfFormWeb y ajouter cette méthode et dériver tes form depuis celui-ci.

    A noter que pour mettre des valeurs par défaut sur des form liés, la procédure n'est pas la même.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2008
    Messages : 20
    Points : 15
    Points
    15
    Par défaut
    J'ai dû mal m'exprimer, mais je suis tout nouveau en Symfony, et j'ai un peu de mal avec le vocabulaire.
    Dans ma liste de départements, je voulais pouvoir sélectionner par défaut un ou plusieurs départements avec un seul appel de fonction.
    J'ai réussi à le faire avec setDefaut() comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->widgetSchema[$monFormChoice]->setDefaut($mesIndexes)
    avec $mesIndexes qui est un tableau contenant les index des départements que je veux voir sélectionnés par défaut. Et ça marche !

  8. #8
    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
    ok

    Oui, c'est comme cela qu'il faut l'indiquer.

    Mais il faut des tables avec une liaison n-n pour le stocker...

    Mais dans un form libre, c'est correcte.

    Et le retour est un array aussi...
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 212
    Points : 108
    Points
    108
    Par défaut
    et pour le champs permissions_list de sfguardDoctrinePlugin tu as une idée michel ?

  10. #10
    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
    oups, vieux sujet...

    Les champs permission de sfGuard ? Ils sont dans une vraie liaison n-n.

    Après, je ne sais pas très bien le traitement que tu veux leur faire subir !
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 04/11/2008, 14h30
  2. Enlever une valeur par défaut dans une txtBox
    Par moilou2 dans le forum IHM
    Réponses: 8
    Dernier message: 09/10/2008, 12h17
  3. Réponses: 4
    Dernier message: 05/06/2007, 09h16
  4. Réponses: 2
    Dernier message: 15/03/2006, 09h44
  5. Réponses: 6
    Dernier message: 14/02/2006, 20h53

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