- 1
[Opened] [Résolu] Données dynamiques avec un DAO
Posted by ciblemedia on 11/28/2011 20:58
Bonsoir,
Dans le manuel 1.3 des formats des fichiers forms, il est indiqué qu'il est possible de charger une liste déroulante via une DAO :
<menulist ref="codeuge" required="true"> <label>Etablissement</label> <datasource dao="testapp~config" method="findByCat" criteria="admin" labelproperty="cvalue" valueproperty="ckey"/> <hint>L'établissement est obligatoire.</hint> </menulist>
La propriété criteria
a comme valeur de type chaine. Je voudrais savoir si il est possible de remplacer cette valeur par une variable que nous définissons dans le contrôleur par exemple ?
Exemple :
<menulist ref="codeuge" required="true"> <label>Etablissement</label> <datasource dao="testapp~config" method="findByCat" criteria="$mavariable" labelproperty="cvalue" valueproperty="ckey"/> <hint>L'établissement est obligatoire.</hint> </menulist>
Et l'on pourrait faire dans le contrôleur un :
$form->setCriteria('codeuge', 'mavaleur');
D'avance merci,
[Opened] Données dynamiques avec un DAO
Posted by laurentj on 11/29/2011 10:37
Bonjour,
Non, on ne peut pas.
Mais il est possible de le faire autrement. Définit un champs <hidden ref="foo">
, et au lieu d'utiliser l'attribut criteria, utilise critieriafrom="foo"
(dans lequel tu met le ref du hidden). Ensuite, un simple $form->setData('foo',$mavaleur);
devrait suffire.
je n'ai pas testé, mais ça devrait fonctionner. Je pense même que si tu changes le hidden en JS dans ta page, la mise à jour de la liste devrait fonctionner.
[Opened] Données dynamiques avec un DAO
Posted by ciblemedia on 11/29/2011 11:01
Ok merci,
Je vais regarder de ce côté.
J'ai vu également qu'il y avait une possibilité de charger la liste via une classe. je vais également regarder de ce côté.
En tout cas, Merci
- 1