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. Affichage d'une image en background d'un tableau sur une tpl >
  2. Données dynamiques avec un DAO