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

  [Opened] plugin de template permmetant de récuperer un record depuis une DAO

Posted by Mike on 11/19/2008 09:48

Bonjour, Cela arrive souvent dans un template que l'on est besoin d'accèder à un enregistrement d'une autre dao alors que l'on parcours les éléments de la première. Je m'explique par un exemple :

 {foreach $articles as $art}
 <div>
 	<p>Par {$art->id_membre}</p>
 	<p>le {$art->date|jdatetime:'db_datetime','lang_datetime'}</p>
 	<p>{$art->intro}</p>
 </div>
 {/foreach}

Ce que je voudrais c'est simplement affiché le nom de celui qui a créé l'article et non pas l'id comme dans l'exemple. Et donc il faut faire au préalable un parcours de tous les éléments dans le controller ou la zone et retrouver le bon membre et faire un assign, assez contraignant pour retrouver une petite info!

Je me demandais pourquoi on ne pourrait pas inclure d'origine une fonction de template qui le ferait pour nous. Cela deviendrait ainsi :

 {foreach $articles as $art}
 {jdaoget 'metier~membres', $art->id_membre, 'membre'}
 <div>
 	<p>Par {$membre->identite}</p>
 	<p>le {$art->date|jdatetime:'db_datetime','lang_datetime'}</p>
 	<p>{$art->intro}</p>
 </div>
 {/foreach}

Dans mon exemple on passe en params :

  • le nom de le sélécteur de dao,
  • la PK,
  • le nom de variable dans le template comme dans un assign,
  • éventuellement on peut mettre un paramètre optionnel pour la méthode de la dao

Assez élégant comme solution non ?

Après jdaoget n'est peut être pas le bon nomage, peut-être qu'il faudrait l'appeler assignfromdao ou quelque chose du genre.

Je voulais votre avis sur cette solution et éventuellement sur celles que vous utilisez pour résoudre ce genre de problème.

Je peux proposer un patch contenant ce plugin.

J'attends vos commentaires !!

  [Opened] Re: plugin de template permmetant de récuperer un record depuis une DAO

Reply #1 Posted by laurentj on 11/19/2008 09:51

Bonjour,

si tu déclarais une jointure dans la dao, ça serait encore mieux ;-)

  [Opened] Re: plugin de template permmetant de récuperer un record depuis une DAO

Reply #2 Posted by Mike on 11/19/2008 09:58

C'est vrai que c'est bien mieux de séparer les couches et d'utiliser directement une jointure quand c'est possible.

Solution inutile donc, au moins ça pourra peut-être servir à d'autres qui se pose la question :)

 
Page
  1. plugin de template permmetant de récuperer un record depuis une DAO