Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [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

Reply #1 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

Reply #2 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

 
Page
  1. [Résolu] Données dynamiques avec un DAO