| Nome do atributo | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
| loop | array | Sim | n/d | array de dados para ser feito o loop |
| cols | inteiro | Não | 3 | número de colunas na tabela |
| table_attr | string | Não | border="1" | atributos para a tag table |
| tr_attr | string | Não | empty | atributos para a tag tr (arrays estão em ciclo) |
| td_attr | string | Não | empty | atributos para a tag (arrays estão em ciclo) |
| trailpad | string | Não | | values to pad the trailing cells on last row with (se algum) |
| hdir | string | Não | right | direçao de uma linha para ser representada. Possíveis valores: left/right |
| vdir | string | Não | down | direção das colunas para serem representadas. Possíveis valores: up/down |
html_table é uma função personalizada que transforma um array de dados em uma tabela HTML. O atributo cols determina a quantidade de colunas que a tabela terá. Os valores table_attr, tr_attr e td_attr determinam os atributos dados para a tabela, tags tr e td. Se tr_attr ou td_attr são arrays, eles entrarão em ciclo. trailpad é o valor colocado dentro do trailing cells na última linha da tabela se há alguma presente.
Example 8.13. html_table
index.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');
index.tpl:
{html_table loop=$data}
{html_table loop=$data cols=4 table_attr='border="0"'}
{html_table loop=$data cols=4 tr_attr=$tr}
MOSTRA:
<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>
