Language function html table
{html_table} 是一个自定义函数,用于将数据数组转换为 HTML 的 <table> 标签。
属性
| 属性名 | 必需 | 描述 |
|---|---|---|
| loop | 是 | 要循环遍历的数据数组 |
| cols | 否 | 表格中的列数,可以是一个数字,也可以是以逗号分隔的列标题名称列表,或者是列标题名称的数组。如果 cols 属性为空,但提供了 rows,则列数将根据行数和要显示的元素数量计算,以确保足够的列来显示所有元素。如果 rows 和 cols 都省略,则默认为 3 列。如果以列表或数组形式给出,则列数将根据列表或数组中的元素数量计算。 |
| rows | 否 | 表格中的行数。如果 rows 属性为空,但提供了 cols,则行数将根据列数和要显示的元素数量计算,以确保足够的行来显示所有元素。 |
| inner | 否 | 定义循环数组中连续元素的排列顺序。cols 表示按列显示元素,rows 表示按行显示元素。 |
| caption | 否 | 用于 <caption> 元素的文本 |
| table_attr | 否 | <table> 标签的属性(默认为 'border="1"') |
| th_attr | 否 | <th> 标签的属性(循环使用数组中的属性) |
| tr_attr | 否 | <tr> 标签的属性(循环使用数组中的属性) |
| td_attr | 否 | <td> 标签的属性(循环使用数组中的属性) |
| trailpad | 否 | 如果有的话,用于填充最后一行中的尾部单元格的值(默认为 ' ') |
| hdir | 否 | 每行的渲染方向。可能的值为:right(从左到右)和 left(从右到左)(默认为 'right') |
| vdir | 否 | 每列的渲染方向。可能的值为:down(从上到下)和 up(从下到上)(默认为 'down') |
cols属性确定表格中的列数。table_attr、tr_attr和td_attr决定<table>、<tr>和<td>标签的属性。- 如果
tr_attr或td_attr是数组,则会循环使用其中的属性。 trailpad是放置在最后一行表格单元格中的填充值(如果有的话)。
示例
<?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 分配的变量可以通过以下三个示例来显示。每个示例都显示了模板和输出。
示例 1
{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>
示例 2
{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>
示例 3
{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>