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

  [Opened] Affichage : Imbrication de foreach

Posted by Didou on 08/14/2007 14:52

Me revoila avec mes questions ;)

J'ai fait une classe qui me renvoie l'affichage d'une liste passée en paramètre et je voudrais utiliser un template générique qui me permette d'afficher n'importe quelle liste. Cependant, j'ai besoin de deux boucle foreach imbriquées et cela n'a pas l'air d'être accepté par jelix...

Voici le template en question :

  <h2>{$TITRE}</h2>
  <table>
	<tr>
		{foreach $LISTEPARAM as $param}
  			<td>{$param}</td>
		{/foreach}
	</tr>		

	{foreach $LISTE as $value}
		<tr>
			{foreach $LISTEPARAM as $key=>$param}
  				<td>{$value->$key}</td>
			{/foreach}
		</tr>
	{/foreach}
  </table>

J'ai l'erreur suivante :

  [error 1] Object of class jTpl could not be converted to string

Je vous remercie d'avance et vivement la fin de l'implentation de jforms et le controleur générique CRUD

Adeline


Adeline

  [Opened] Re: Affichage : Imbrication de foreach

Reply #1 Posted by bballizlife on 08/17/2007 19:17

Il faut que je test mais à priori on peut imbriquer les boucles.

Ce qui doit provoquer l'erreur dans ton cas, c'est je suppose le {$value->$key}, pas sûr que Jelix aime bien ça.

Tu peux essayer en faisant :

 {foreach $LISTEPARAM as $key=>$param}
   {assign $var = $value->$key}
   <td>{$var}</td>
 {/foreach}

N'importe comment c'est dans la doc

  [Opened] Re: Affichage : Imbrication de foreach

Reply #2 Posted by laurentj on 08/26/2007 00:20

Cependant, j'ai besoin de deux boucle foreach imbriquées et cela n'a pas l'air d'être accepté par jelix...

À priori, jTpl accepte les foreach imbriqués.

Ce qui doit provoquer l'erreur dans ton cas, c'est je suppose le {$value->$key}, pas sûr que Jelix aime bien ça.

Oui je pense que l'erreur signalée par didou vient de cette ligne là. jTpl en effet n'aimait pas que l'on fasse ce genre de truc (dans la beta2.1 notament), mais je l'ai corrigé il y a quelques semaines dans le trunk ;-) (donc en utilisant une nightly, ça devrait fonctionner)

en attendant, je confirme qu'il faut utiliser la solution de bballizlife.

 
Page
  1. Affichage : Imbrication de foreach