跳转至内容

{html_table}

{html_table} 是将数组中的数据转储到 HTML <table> 中的 自定义函数

属性

属性名称 必需 描述
loop 循环的数据数组
cols 表格中的列数,列标名称的逗号分隔列表或列标名称的数组。如果 cols-attribute 为空,但提供了 rows,则 cols 的数量由行数和要显示的元素的数量计算得出,刚好足够 cols 显示所有元素。如果 rows 和 cols 都省略,cols默认为 3。如果以列表或数组的形式给出,则列数由列表或数组中元素的数量计算得出。
rows 表格中的行数。如果 rows-attribute 为空,但提供了 cols,则行数由 cols 的数量和要显示的元素的数量计算得出,刚好足够 rows 显示所有元素。
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_attrtr_attrtd_attr 值决定赋予 <table><tr><td> 标签的属性。

  • 如果 tr_attrtd_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>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</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>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
    </tbody>
</table>