html_table

Attribute Name Type Required Default Description
loop array Yes n/a array of data to loop through
cols integer No 3 number of columns in the table
table_attr string No border="1" attributes for table tag
tr_attr string No empty attributes for tr tag (arrays are cycled)
td_attr string No empty attributes for td tag (arrays are cycled)
trailpad string No   value to pad the trailing cells on last row with (if any)
hdir string No right direction of one row to be rendered. possible values: left / right
vdir string No down direction of the columns to be rendered. possible values: up / down

属性 类型 是否必须 缺省值 描述
loop array Yes n/a 待遍历的数组
cols integer No 3 表格的列数目
table_attr string No border="1" 表格的属性
tr_attr string No empty 行标签属性(或轮转数组)
td_attr string No empty 列标签属性(或轮转数组)
trailpad string No   最后一行附加的数据(如果有的话)
hdir string No right 行的对齐方式,可能的值为 left right
vdir string No down 列的对齐方式,可能的值为 up down

html_table is a custom function that dumps an array of data into an HTML table. The cols attribute determines how many columns will be in the table. The table_attr , tr_attr and td_attr values determine the attributes given to the table, tr and td tags. If tr_attr or td_attr are arrays, they will be cycled through. trailpad is the value put into the trailing cells on the last table row if there are any present.

自定义函数 html_table 将数组中的数据填充到 HTML 表格中. cols 属性决定表格有多少列. table_attr , tr_attr td_attr 属性决定表格中 tr 和 td 标签的一些附加属性. 如果 tr_attr td_attr 属性值为数组,将轮流使用其中的值. 如果指定了 trailpad 属性,将在表尾最后一行附加一些数据.

Example 8-13. html_table
Smarty手册范例 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}

输出结果:

<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>