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

  [Opened] Traitement dans un template

Posted by isdream on 03/09/2007 17:09

Je sais que dans un template il n'y a pas de traitement à faire. Mais c'est un traitement de bas niveau que je ne peux pas faire autre part. Je m'explique :

Je veux faire un tableau pour lequel les lignes paires et impaires sont de couleurs différentes. Donc pour l'instant dans mon template j'ai :

              ...
                <th>
                    TITRE
                </th>
            </tr>
	    {$i=0}
            {foreach $objLivres as $objLivre}
		{if $i%2==1}
		<tr class="impair">
		{else}
		<tr class="pair">
		{/if}
		{$i++}
                <td>
                        <a href="#">- {$objLivre->LIV_LIB}</a>
                </td>
                <td>
              ...

Le problème est l'affichage : 0 1 2 3 4 Mon tableau

En effet le {$i=0} et le {$i++} s'affiche. Je sens que mon problème est stupide mais je ne trouves pas de solution dans la doc. Je continu de chercher dedans.

Solution très très ennuyeuse de contournement que je n'aime vraiment pas :

              ...
                <th>
                    TITRE
                </th>
            </tr>
	    <input type=hidden value={$i=0}>
            {foreach $objLivres as $objLivre}
		{if $i%2==1}
		<tr class="impair">
		{else}
		<tr class="pair">
		{/if}
		<input type=hidden value={$i++}>
                <td>
                        <a href="#">- {$objLivre->LIV_LIB}</a>
                </td>
                <td>
              ...

Enfin peut être que c'est la seule solution :-)

Merci pour vos conseils.

isdream.

  [Opened] Re: Traitement dans un template

Reply #1 Posted by bballizlife on 03/09/2007 17:33

La solution suivante doit fonctionner je pense :

 <th>TITRE</th>
 </tr>
 {foreach $objLivres as $k => $objLivre}
   {if $k % 2 == 1}
     <tr class="impair">
   {else}
     <tr class="pair">
   {/if}
       <td><a href="#">- {$objLivre->LIV_LIB}</a></td>
       <td>...</td>
   ...
 {/foreach}

N'importe comment c'est dans la doc

  [Opened] Re: Traitement dans un template

Reply #2 Posted by laurentj on 03/09/2007 18:28

ou utiliser le plugin assign

  {assign $i=$i+1}

mais la solution de bballizlife est préférable dans le cas présent :-)

  [Opened] Re: Traitement dans un template

Reply #3 Posted by isdream on 03/12/2007 10:12

Je pensais avoir découvert une limite de Jelix, en fait non. lol

Merci pour la solution, je ne l'aurais pas trouver seul même si il était dans la doc (je parle du foreach de bballizlife car je croit avoir vu dans la doc ta solution Laurentj :rooleyes: ).

isdream

 
Page
  1. Traitement dans un template