{html_table}

{html_table} est une fonction personnalisée qui transforme un tableau de données dans un tabeau HTML. L'attribut cols détermine le nombre de colonne du tableau. Les attributs table_attr, tr_attr et td_attr déterminent les attributs donnés aux balises table, tr et td. Si tr_attr ou td_attr sont des tableaux, ils seront parcourus. trailpad est la valeur avec laquelle cera remplit les cellules restantes de la dernière ligne, s'il y en a.

Nom de l'attributTypeRequisDéfautDescription
looptableauOuin/aTableau de données à parcourir
colsentierNon3 nombre de colonnes de la table. Si l'attribut "cols" est vide, mais que des lignes sont données, alors le nombre de colonnes sera calculé en utilisant le nombre de lignes et le nombre d'éléments à afficher pour qu'il y ait juste assez de colonnes pour afficher tous les éléments. Si les lignes et les colonnes sont omis tous les deux, la valeur par défaut de "cols" sera appliquée, à savoir 3.
rowsentierNoempty nombre de lignes de la table. Si l'attribut "rows" est vide, mais que des colonnes sont données, alors le nombre de lignes sera calculée en utilisant le nombre de colonnes et le nombre d'éléments à afficher pour qu'il y ait juste assez de lignes pour afficher tous les éléments.
innerchaîne de caractèresNocols la direction du rendu des éléments consécutifs dans la boucle du tableau. cols signifie que les éléments doivent être afficher colonnes par colonnes. rows signifie que les éléments doivent être afficher lignes par lignes.
table_attrchaîne de caractèresNonborder="1"attributs pour la balise table
tr_attrchaîne de caractèresNonemptyattributs pour les balises tr (les tableaux sont parcourus)
td_attrchaîne de caractèresNonemptyattributs pour les balises td (les tableaux sont parcourus)
trailpadchaîne de caractèresNon valeur avec laquelle remplir les cellules restantes de la dernière ligne (si il y en a)
hdirchaîne de caractèresNonright Direction du rendu. Les valeurs possibles sont right (left-to-right), left (right-to-left)
vdirchaîne de caractèresNondown Direction des colonnes lors du rendu. Les valeurs possibles sont : down (top-to-bottom), up (bottom-to-top)

Exemple 8-18. {html_table}

Code PHP :
-------------
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('data',array(1,2,3,4,5,6,7,8,9));
$smarty->assign('tr',array('bgcolor="#eeeeee"','bgcolor="#dddddd"'));
$smarty->display('index.tpl');
?>
Code du template :
----------------------
{html_table loop=$data}
{html_table loop=$data cols=4 table_attr='border="0"'}
{html_table loop=$data cols=4 tr_attr=$tr}

Affichera :

<table border="1">
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>4</td><td>5</td><td>6</td></tr>
<tr><td>7</td><td>8</td><td>9</td></tr>
</table>
<table border="0">
<tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
<tr><td>5</td><td>6</td><td>7</td><td>8</td></tr>
<tr><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
</table>
<table border="1">
<tr bgcolor="#eeeeee"><td>1</td><td>2</td><td>3</td><td>4</td></tr>
<tr bgcolor="#dddddd"><td>5</td><td>6</td><td>7</td><td>8</td></tr>
<tr bgcolor="#eeeeee"><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
</table>