What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
{html_table}
est une
fonction personnalisée
qui transforme un tableau de données dans un tabeau HTML.
Nom de l'attribut | Type | Requis | Défaut | Description |
---|---|---|---|---|
loop | tableau | Oui | n/a | Tableau de données à parcourir |
cols | mixed | Non | 3 | Nombre de colonnes de la table ou une liste de noms de colonnes séparés par une virgule ou un tableau contenant les noms des colonnes. 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. Si fourni en tant que liste ou tableau, le nombre de colonnes est calculé par rapport au nombre d'éléments de la liste ou du tableau. |
rows | entier | No | empty | 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. |
inner | chaîne de caractères | No | cols | 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. |
caption | chaîne de caractères | No | empty |
Texte à utiliser pour l'élément <caption> du tableau.
|
table_attr | chaîne de caractères | Non | border="1" | attributs pour la balise <table>
|
th_attr | chaîne de caractères | No | empty | Attributs pour les balises <th>
(les tableaux sont parcourus) |
tr_attr | chaîne de caractères | Non | empty | Attributs pour les balises <tr> (les tableaux sont parcourus) |
td_attr | chaîne de caractères | Non | empty | Attributs pour les balises <td>
(les tableaux sont parcourus) |
trailpad | chaîne de caractères | Non | | Valeur avec laquelle remplir les cellules restantes de la dernière ligne (si il y en a) |
hdir | chaîne de caractères | Non | right | Direction du rendu. Les valeurs possibles sont right (left-to-right), left (right-to-left) |
vdir | chaîne de caractères | Non | down | Direction des colonnes lors du rendu. Les valeurs possibles sont : down (top-to-bottom), up (bottom-to-top) |
L'attribut cols
détermine le nombre
de colonnes dans le tableau.
Les valeurs table_attr
, tr_attr
et td_attr
déterminent les attributs fournis dans les balises
<table>
, <tr>
et <td>
.
Si tr_attr
ou td_attr
est un tableau, il sera parcourru.
trailpad
est la valeur utilisée pour compléter les cellules
vides de la dernière ligne s'il y en a.
Example 8.22. {html_table}
<?php $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'); ?>
Les variables assignées depuis PHP peuvent être affichées comme le démontre cet exemple.
{**** Premier exemple ****} {html_table loop=$data} <table border="1"> <tbody> <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> </tbody> </table> {**** Deuxième exemple ****} {html_table loop=$data cols=4 table_attr='border="0"'} <table border="0"> <tbody> <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> </td><td> </td><td> </td></tr> </tbody> </table> {**** Troisième exemple ****} {html_table loop=$data cols="first,second,third,fourth" tr_attr=$tr} <table border="1"> <thead> <tr> <th>first</th><th>second</th><th>third</th><th>fourth</th> </tr> </thead> <tbody> <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> </td><td> </td><td> </td></tr> </tbody> </table>