{html_table}

{html_table}是一个 自定义函数,可使用数组形式的数据来创建一个HTML的<table>.

参数名称 类型 必选参数 默认值 说明
loop array Yes n/a 循环赋值的数组
cols mixed No 3 表格的列数,或者是逗号分隔的列头文字列表,或是列头文字的数组。 如果cols属性为空,但设置了rows,将以rows数量和显示元素的总数进行计算得出列数, 以便每列能显示全部的元素。 如果rows和cols都设置了,那么cols会忽略默认值3. 如果设置cols为一个列表或数组,那么列数将取决于列表或数组的元素个数。
rows integer No empty 表格的行数。如果设置为空,但设置了cols,那么将以cols数量和显示元素的总数进行计算得出行数, 以便每行能显示全部的元素。
inner string No cols 显示元素的循环方向。cols意味着元素将按“一列一列”地显示。 而rows意味着元素将“一行一行”地显示。
caption string No empty 表格中<caption>属性值
table_attr string No border="1" <table>标签的属性
th_attr string No empty <th>标签的属性 (循环)
tr_attr string No empty <tr>标签的属性 (循环)
td_attr string No empty <td>标签的属性 (循环)
trailpad string No &nbsp; 在最后行空单元格中填充的字符(如果有的话)
hdir string No right 每行显示的方向。可以设置: right (从左到右), 和 left (从右到左)
vdir string No down 每列显示的方向。可以设置: down (上到下), up (下到上)
  • cols属性决定表格可以显示多少列。

  • table_attr, tr_attrtd_attr 的值决定了<table>, <tr><td> 标签的数量。

  • 如果tr_attr 或者 td_attr是一个数组, 那么它们的值将被循环交替使用。

  • trailpad是在最后行空单元格中填充的字符(如果有的话)。


Example 8.19. {html_table}

  1. <?php
  2. $smarty->assign( 'data', array(1,2,3,4,5,6,7,8,9) );
  3. $smarty->assign( 'tr', array('bgcolor="#eeeeee"','bgcolor="#dddddd"') );
  4. $smarty->display('index.tpl');
  5. ?>
  6.  

例子演示如何从PHP赋值到模板并且显示表格。下面是各种输出:

  1. {**** Example One ****}
  2. {html_table loop=$data}
  3.  
  4. <table border="1">
  5. <tbody>
  6. <tr><td>1</td><td>2</td><td>3</td></tr>
  7. <tr><td>4</td><td>5</td><td>6</td></tr>
  8. <tr><td>7</td><td>8</td><td>9</td></tr>
  9. </tbody>
  10. </table>
  11.  
  12.  
  13. {**** Example Two ****}
  14. {html_table loop=$data cols=4 table_attr='border="0"'}
  15.  
  16. <table border="0">
  17. <tbody>
  18. <tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
  19. <tr><td>5</td><td>6</td><td>7</td><td>8</td></tr>
  20. <tr><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
  21. </tbody>
  22. </table>
  23.  
  24.  
  25. {**** Example Three ****}
  26. {html_table loop=$data cols="first,second,third,fourth" tr_attr=$tr}
  27.  
  28. <table border="1">
  29. <thead>
  30. <tr>
  31. <th>first</th><th>second</th><th>third</th><th>fourth</th>
  32. </tr>
  33. </thead>
  34. <tbody>
  35. <tr bgcolor="#eeeeee"><td>1</td><td>2</td><td>3</td><td>4</td></tr>
  36. <tr bgcolor="#dddddd"><td>5</td><td>6</td><td>7</td><td>8</td></tr>
  37. <tr bgcolor="#eeeeee"><td>9</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
  38. </tbody>
  39. </table>
  40.  

原文: https://www.smarty.net/docs/zh_CN/language.function.html.table.tpl