Salut à Tous !
Je suis entrain de développer une application en utilisant Zend Framework !
Il se trouve que j'ai un petit soucis au niveau de mon affichage avec Dojo pour un formulaire ! en utilisant le Zend_Dojo_Form_Element_FilteringSelect selon un tutorial je n'arrive pas à afficher mon FilteringSelect :s !! Si quelqu'un peut m'aider
Voici mon code ainsi que l'apercu de ce que j'ai :
Bootstrap :
Controller :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 .... $view = new Zend_View(); $view->setEncoding('UTF-8'); Zend_Dojo::enableView($view); $view->dojo() ->addStyleSheetModule('dijit.themes.tundra') ->setDjConfigOption('usePlainJson',true) ->enable(); ....
Layout :
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82 //Action d'accueil public function indexAction() { $this->view->title = "Gestpresent - Accueil"; } public function congeAction() { $this->view->title = "Gestpresent - Mes Conges"; $form = $this->getForm(); if ($this->_request->isPost()) { if ($form->isValid($_POST)) { // Process data // Pass the name and birthday values to the view so that // You can display them in the view $this->view->congeId = $this->_getParam('congeId'); $this->view->datedebut = $this->_getParam('datedebut'); $this->view->datefin = $this->_getParam('datefin'); } else { //If form validation fails populate and display the form again $form->populate($_POST); $this->view->form = $form; } } else { //If the request is not post display the form $this->view->form = $form; } } //Liste des types de Congés public function congelistAction() { $db = Zend_Registry::get("db"); $result = $db->fetchAll("SELECT id_type_conge, libelle_type_conge FROM type_conge"); $data = new Zend_Dojo_Data('id_type_conge', $result); $this->_helper->autoCompleteDojo($data); } //Création du Formulaire public function getForm() { $form = new Zend_Form; $congeId= new Zend_Dojo_Form_Element_FilteringSelect('congeId'); $congeId->setLabel("Type de conge") ->setAutoComplete(true) ->setStoreId("congeStore") ->setStoreType("dojo.data.ItemFileReadStore") // ->setAttribs(array("dojoType"=>"dojo.data.ItemFileReadStore")) // ->setAttribs(array("dojoType"=>"dijit.form.FilteringSelect")) ->setStoreParams(array("url"=>"/index/congelist")) ->setAttrib("searchAttr","libelle_type_conge") ->setRequired(true); $datedebut = new Zend_Dojo_Form_Element_DateTextBox('datedebut'); $datedebut->setLabel('Du :') ->setAttribs(array("dojoType"=>"dijit.form.DateTextBox")) ->setRequired(true); $datefin = new Zend_Dojo_Form_Element_DateTextBox('datefin'); $datefin->setLabel('Au :') ->setAttribs(array("dojoType"=>"dijit.form.DateTextBox")) ->setRequired(true); $submit = $form->createElement('submit', 'Valider'); $form->addElements(array($congeId, $datedebut, $datefin, $submit,)); return $form; } }
View :
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
38 ... <script type="text/javascript" src="../../dojo-1.2.3/dojo/dojo.js" djConfig="parseOnLoad: true"></script> <script type="text/javascript"> dojo.require("dojo.parser"); dojo.require("dijit.form.FilteringSelect"); dojo.require("dijit.form.DateTextBox"); dojo.require("dojo.data.ItemFileReadStore"); dojo.require("dojox.data.QueryReadStore"); dojo.require("dijit.Dialog"); dojo.require("dijit.form.TextBox"); dojo.require("dijit.form.TimeTextBox"); dojo.require("dijit.form.Button"); dojo.require("dijit.form.DateTextBox"); </script> </head> <body class="tundra"> <div id="content"> <div id="header"> <?php echo $this->render('common/header.phtml'); ?> </div> <div id="page"> <?php echo $this->layout()->content; ?> </div> <div id="footer"> <?php echo $this->partial('common/footer.phtml'); ?> </div> </div> </body> </html> ...
Ainsi que le code source de la page généré :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <h1><a href="<?php echo $this->baseUrl(); ?>">ACCUEIL</a> - MES CONGES</h1> <br /> <br /> <?php echo $this->form ; ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <form enctype="application/x-www-form-urlencoded" action="" method="post" name=""><dl class="zend_form"> <dt><label for="congeId" class="required">Type de conge</label></dt> <dd> <input options="" searchAttr="libelle_type_conge" listsep="<br />" id="congeId" name="congeId" value="" type="text"></dd> <dt><label for="datedebut" class="required">Du :</label></dt> <dd> <input dojoType="dijit.form.DateTextBox" id="datedebut" name="datedebut" value="" type="text"></dd> <dt><label for="datefin" class="required">Au :</label></dt> <dd> <input dojoType="dijit.form.DateTextBox" id="datefin" name="datefin" value="" type="text"></dd> <dt> </dt><dd> <input type="submit" name="Valider" id="Valider" value="Valider"></dd></dl></form>
Partager