{html_table}
属性名 | 型? | 必須 | デフォルト | 概要 |
loop | array? | Yes | n/a | ループするためのデータの配列 |
cols | integer? | No | 3 | テーブルのカラム数。cols属性は空であるがrows属性が与えられたという場合、 colsの数は、すべての要素を表示するのに事足りるcolsが表示されるように rowsの数と要素の数によって計算されます。rowsとcolsの両方が空だった場合、 colsのデフォルトは 3 として計算は省かれます。 |
rows | integer? | No | empty | テーブルの列数。rows属性は空であるがcols属性が与えられたという場合、 rowsの数は、すべての要素を表示するのに事足りるrowsが表示されるように colsの数と要素の数によって計算されます。 |
table_attr | string? | No | border="1" | テーブルタグの属性 |
tr_attr | string? | No | empty | <tr>タグの属性(配列は循環される) |
td_attr | string? | No | empty | <td>タグの属性(配列は循環される) |
trailpad | string? | No | 行の最後に余ったセルがあればそれらを埋める値 | |
hdir | string? | No | right | 各行の表示される方向。有効な値: left (右から左へ), right (左から右へ) |
vdir | string? | No | down | 各行の表示される方向。有効な値: down (上から下へ), up (下から上へ) |
html_tableはhtmlテーブル内にデータの配列を 出力するカスタム関数です。
cols属性はテーブル内に いくつカラムがあるかを決定します。table_attrと tr_attrとtd_attr属性は それぞれtable,tr,tdタグに与えられる属性を決定します。tr_attr又はtd_attrが配列ならば、それらは循環されます。trailpad属性は テーブル行の最後にセルが 余った場合にそれらを埋めるための値です。
cols属性はテーブル内に いくつカラムがあるかを決定します。table_attrと tr_attrとtd_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> </td> <td> </td> <td> </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> </td> <td> </td> <td> </td> </tr> </table>