html_table

Attribute NameTypeRequiredDefaultDescription
looparrayYesn/aarray of data to loop through
colsintegerNo3number of columns in the table
table_attrstringNoborder="1"attributes for table tag
tr_attrstringNoemptyattributes for tr tag (arrays are cycled)
td_attrstringNoemptyattributes for td tag (arrays are cycled)
trailpadstringNo value to pad the trailing cells on last row with (if any)
hdirstringNorightdirection of one row to be rendered. possible values: left/right
vdirstringNodowndirection 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 列的对齐方式,可能的值为 updown

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_attrtd_attr 属性决定表格中 tr 和 td 标签的一些附加属性. 如果 tr_attr td_attr 属性值为数组,将轮流使用其中的值. 如果指定了 trailpad 属性,将在表尾最后一行附加一些数据.

Example 8-13. html_table
例 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}

OUTPUT:

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