Smarty是什么?
为什么使用Smarty?
使用案例和工作流
语法比较
模板继承
最佳实践
速成课程
   {html_table}是一个自定义函数,它可以将数据数组转储到HTML<table>中。
| 属性名称 | 类型 | 必需 | 默认值 | 说明 | 
|---|---|---|---|---|
| loop | 数组 | 是 | 不适用 | 循环使用的的数据数组 | 
| cols | 混合数据 | 否 | 3 | 表格中的列数或用逗号分隔的列标题名称列表,或列标题名称数组。如果cols属性为空,但提供了行,则根据行数和要显示的元素数来计算cols数,刚好足以显示所有元素。如果未提供行和cols,则cols默认为3。如果作为列表或数组提供,则根据列表或数组中的元素数来计算列数。 | 
| rows | 整数 | 否 | 空 | 表格中的行数。如果rows属性为空,但提供了cols,则根据cols数和要显示的元素数来计算行数,刚好足以显示所有元素。 | 
| inner | 字符串 | 否 | cols | 环形数组中连续元素在循环中的方向。cols表示按列显示元素。rows表示按行显示元素。 | 
| caption | 字符串 | 否 | 空 | 用于表格 <caption>元素的文本 | 
| table_attr | 字符串 | 否 | border="1" | <table>标记的属性 | 
| th_attr | 字符串 | 否 | 空 | <th>标记的属性(数组循环使用) | 
| tr_attr | 字符串 | 否 | 空 | <tr>标记的属性(数组循环使用) | 
| td_attr | 字符串 | 否 | 空 | <td>标记的属性(数组循环使用) | 
| trailpad | 字符串 | 否 |   | 在最后一行的尾部单元格中填充的值(如果有的话) | 
| hdir | 字符串 | 否 | right | 每个要渲染的行方向。可能的值:right(从左到右),以及left(从右到左) | 
| vdir | 字符串 | 否 | down | 每个要渲染的列方向。可能的值:down(从上到下),up(从下到上) | 
cols 属性决定表中会有多少列。
table_attr、tr_attr 和td_attr 值决定给出 <table>、<tr> 和<td> 标签的属性。
如果tr_attr 或td_attr 为数组,则它们会循环。
   trailpad 是在最后一行表格中存在尾部单元格时放进去的值(如果存在)。
示例 8.19.{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');
?>
  
从 PHP 分配的变量可以显示为这三个示例演示的那样。每个示例都显示模板和输出。
{**** Example One ****}
{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>
{**** Example Two ****}
{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>
{**** Example Three ****}
{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>