{cycle}
est utilisé pour boucler sur un ensemble de valeurs.
Très pratique pour alterner entre deux ou plusieurs couleurs dans un tableau,
ou plus généralement pour boucler sur les valeurs d'un tableau.
Nom attribut | Type | Requis | Defaut | Description |
---|---|---|---|---|
name | chaîne de caractères | Non | default | Le nom du cycle |
values | divers | Oui | N/A | Les valeurs sur lesquelles boucler, soit une liste séparée par des virgules, (voir l'attribut delimiter), soit un tableau de valeurs |
booléen | Non | TRUE |
S'il faut afficher ou non cette valeur | |
advance | booléen | Non | TRUE |
Oui ou non aller à la prochaîne valeur |
delimiter | chaîne de caractères | Non | , | Le délimiteur à utiliser dans la liste. |
assign | chaîne de caractères | Non | n/a | La variable de template dans laquelle la sortie sera assignée |
reset | booléen | Non | FALSE |
Le cycle sera défini à la première valeur |
Vous pouvez définir plusieurs
{cycle}
dans votre template, en leur donnant des noms uniques (attributname
).Vous pouvez empêcher la valeur courante de s'afficher en définissant l'attribut
print
àFALSE
. Ce procédé peut être utile pour discrètement passer outre une valeur de la liste.L'attribut
advance
est utilisé pour répéter une valeur. Lorsque définit àFALSE
, le prochain appel de{cycle}
ramènera la même valeur.Si vous définissez l'attribut spécial
assign
, la sortie de la fonction{cycle}
y sera assignée plutôt que d'être directement affichée.
Example 8.5. {cycle}
{section name=rows loop=$data} <tr bgcolor="{cycle values="#eeeeee,#d0d0d0"}"> <td>{$data[rows]}</td> </tr> {/section}
Le template ci-dessus affichera :
<tr bgcolor="#eeeeee"> <td>1</td> </tr> <tr bgcolor="#d0d0d0"> <td>2</td> </tr> <tr bgcolor="#eeeeee"> <td>3</td> </tr>