<foreach var="$block" as="valeur"> est la balise servant à définir une boucle qui passera en revue un tableau.
block est le nom du block (variable) définit par
assign_array().
valeur est la variable qui servira à récupérer les valeurs de chaque clé.
Attention à bien respecter les espaces et à mettre un retour à la ligne avant et après la balise !
Exemple :
index.php
<?php
...
for($i=
0;
$i<
5; ++
$i) {//lors d'une boucle
$tpl->
assign_array('chaptitre',
array('num_chap' =>
'chapitre '.
$i));
for($j=
0;
$j<
5; ++
$j){ //lors d'une boucle
$tpl->
assign_array('chapitre.page',
array('num_page' =>
'page'.
$i.
$j));
}
}
?>
index.tpl
<foreach var="$chapitre" as="x">
<h2>{x[num_chap]}</h2>
<ul>
<foreach var="$x[page]" as="y">
<li>
{y[num_page]}
</li>
</foreach>
</ul>
</foreach>
Résultat (code html):
<h2>chapitre 0</h2>
<ul>
<li>page00</li>
<li>page01</li>
<li>page02</li>
<li>page03</li>
<li>page04</li>
</ul>
<h2>chapitre 1</h2>
<ul>
<li>page10</li>
<li>page11</li>
<li>page12</li>
<li>page13</li>
<li>page14</li>
</ul>
...
Voir aussi la balise
{var} ainsi que la fonction
assign_array().