Bonjour,
J'utilise le widget sfWidgetFormDoctrineChoice pour afficher une liste déroulante sur un formulaire.
Le problème c'est que cette déroulante possède la balise <optgroup> que je n'arrive pas à supprimer. Et je n'ai rien trouvé coté documentation.
De plus, je souhaite mettre une mettre une des options en pré-selectionné. Mais sans succès.
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 /* Classe du formulaire */ public function configure() { $this->widgetSchema['position'] = new sfWidgetFormDoctrineChoice(array( 'model' => 'EntrepriseEmploye', 'method' => 'getFormChoiceRelationPosition', 'key_method' => 'getPosition', )); }
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 /* Mon modèle */ class EntrepriseEmploye extends BaseEntrepriseEmploye { public function getRelationPosition() { $q = Doctrine_Query::create() ->from('EntrepriseEmploye q') ->where('q.Entreprise_id = ?', $this->getEntrepriseId()) ->orderBy('q.position ASC'); return $q->execute(); } public function getFormChoiceRelationPosition() { $positions = $this->getRelationPosition(); $nbPositions = $positions->count(); for($i = 1 ; $i<= ($nbPositions + 1); $i++) { $array[$i] = $i; } return $array; } }J'ai bien trouvé ce sujet là
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 /* Mon action.class.php */ public function executeNew(sfWebRequest $request) { $this->form = new EntrepriseEmployeForm(); $this->form->setDefault("EmployePosition", array(1)); }
http://www.developpez.net/forums/d98...te-deroulante/
Mais je vous avouerai que j'ai pas bien compris la solution
Si quelqu'un avait une explication ca serait sympa. Merci
- - - - - - - - - - - - - - - - - - - - -
Bon ben en farfouillant le code source du widget j'ai compris pourquoi il faisait ca, du coup je me suis rabattu vers le widget sfWidgetFormChoice et j'ai renseigner la paramètre "choices".
Partager