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>