html_table

属性名必須デフォルト概要
looparrayYesn/aループするためのデータの配列
colsintegerNo3 テーブルのカラム数。cols属性は空であるがrows属性が与えられたという場合、 colsの数は、すべての要素を表示するのに事足りるcolsが表示されるように rowsの数と要素の数によって計算されます。rowsとcolsの両方が空だった場合、 colsのデフォルトは 3 として計算は省かれます。
rowsintegerNoempty テーブルの列数。rows属性は空であるがcols属性が与えられたという場合、 rowsの数は、すべての要素を表示するのに事足りるrowsが表示されるように colsの数と要素の数によって計算されます。
table_attrstringNoborder="1"テーブルタグの属性
tr_attrstringNoempty<tr>タグの属性(配列は循環される)
td_attrstringNoempty<td>タグの属性(配列は循環される)
trailpadstringNo&nbsp;行の最後に余ったセルがあればそれらを埋める値
hdirstringNoright各行の表示される方向。有効な値: left (右から左へ), right (左から右へ)
vdirstringNodown各行の表示される方向。有効な値: down (上から下へ), up (下から上へ)

html_tableはhtmlテーブル内にデータの配列を 出力するカスタム関数です。cols属性はテーブル内に いくつカラムがあるかを決定します。table_attrtr_attrtd_attr属性は それぞれtable,tr,tdタグに与えられる属性を決定します。 tr_attr又はtd_attrが配列ならば、 それらは循環されます。trailpad属性は テーブル行の最後にセルが 余った場合にそれらを埋めるための値です。

例 8-13. html_table

<?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');
?>
{html_table loop=$data}
{html_table loop=$data cols=4 table_attr='border="0"'}
{html_table loop=$data cols=4 tr_attr=$tr}

出力:

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