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 :

liste doctrine en fonction de l'objet [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Par défaut liste doctrine en fonction de l'objet
    salut a tous !!!

    Voici mon problème.
    J'ai une table article ->id, prix, titre...
    J'ai une table size -> id, name
    J'ai une table article_has_size -> article_id, size_id

    Donc un article peut avoir plusieur taille et une taille peut etre dans plusieur article[m:m]

    J'ai bien crée ma bdd en écrivant toute les relations
    [ j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this->widgetSchema['size_list']->setOption('renderer_class', 'sfWidgetFormSelectDoubleList');
    dans la config de mon form "article" qui me permet donc de sélectionner les tailles dispo pr mon article]

    Tout marche bien.

    La ou je coince c'est que j'ai besoin de créée un "petit formulaire" avec une liste deroulante des "size" dispo pour l'article que je visionne.

    Dc ds l'action "show" de mon article je met:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public function executeShow(sfWebRequest $request)
      {
        $this->article =$article= Doctrine_Core::getTable('article')->find(array($request->getParameter('id')));
     
        $this->form = new commandeForm($this->article);
        $this->forward404Unless($this->article);
     
     
      }
    Et pour la configuration de mon formulaire
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
     
    class CommandeForm extends ArticleForm
    {
     
      public function configure()
      {
         $this->setWidgets(array(
            'size_list'    => new sfWidgetFormDoctrineChoice(array('multiple'=>false, 'model'=> 'Size')),
            'quantity'   =>  new sfWidgetFormChoice(array(
    		'choices'  =>  self::generateTwoCharsRange(1,50),
    		'expanded' => false,
    		)),
         ));
     
         $this->widgetSchema->setNameFormat('commande[%s]');
     
         $this->setValidators(array(
            'size_list'   => new sfValidatorNumber(array('required' => true)),
            'quantity'  => new sfValidatorNumber(array('required' => true)),
        ));
     
      }
     
     
      static function generateTwoCharsRange($start, $stop) {
     
            $results = array();
    		for ($i = $start; $i <= $stop; $i++) {
     
                $results[$i] = sprintf('%02d', $i);
     
            } return $results;
     
        }
     
    }
    Maintenant j'affiche la liste de toute ma table "size" mais je ne vois pas comment charger uniquement les "size" lier a mon article....
    Je pense que sa doit etre simple ... mais je connais pas l'astuce...

    Merci bien

  2. #2
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Par défaut
    C'est bon il suffit d'utiliser le sfWidgetFormChoice et de charger l'objet dans la liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'size_list'    => new sfWidgetFormChoice(array('multiple'=>false, 'choices'=> $this->getObject()->getSize()))
    Voila

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/09/2009, 10h00
  2. Passage d'une liste dans une fonction
    Par GLDavid dans le forum Langage
    Réponses: 4
    Dernier message: 19/01/2007, 14h21
  3. Réponses: 6
    Dernier message: 02/10/2006, 12h13
  4. Réponses: 8
    Dernier message: 16/06/2006, 18h48
  5. Réponses: 3
    Dernier message: 02/05/2006, 15h12

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