{html_table}

{html_table} является пользовательской функцией, которая распечатывает массив данных в HTML-тэг table. Атрибут cols указывает, сколько в таблице будет колонок. Атрибуты table_attr, tr_attr и td_attr определяют атрибуты соответствующих элементов таблицы - тэгов table, tr и td. Если параметры tr_attr или td_attr являются массивами, их значения будут использоваться циклически. trailpad - это значение, помещаемое в пустые ячейки последней строки, если такие будут.

Имя атрибута Тип Обязателен По умолчанию Описание
loop array Да n/a массив данных для обработки
cols mixed Нет 3 количество колонок в таблице. Если этот атрибут не указан, но указан атрибут rows, то количество колонок автоматически вычисляется исходя из количества строк и количества элементов для отображения, чтобы как раз уместить все элементы. Если оба параметра (и rows, и cols) опущены, cols принимает значение по умолчанию, равное 3. Если параметр является списком или массивом, кол-во колонок рассчитывается исходя из кол-ва элементов в списке или массиве.
rows integer Нет empty количество строк в таблице. Если этот атрибут не указан, но указан атрибут cols, то количество строк автоматически вычисляется исходя из кооичества колонок и количества элементов для отображения, чтобы как раз уместить все элементы.
inner string Нет cols направление заполнения элементов таблицы из массива. cols означает заполнение элементов колонки за колонкой. rows означает заполнение элементов строка за строкой.
caption string Нет пусто текст, используемый в качестве заголовка таблицы.
table_attr string Нет border="1" атрибуты для тэга table
th_attr string Нет пусто атрибуты для тэга th (значения массива отображаются циклично)
tr_attr string Нет пусто атрибуты для тэга tr (значения массива отображаются циклично)
td_attr string Нет пусто атрибуты для тэга td (значения массива отображаются циклично)
trailpad string Нет   значение для заполнения пустых ячеек последней строки (если такие есть)
hdir string Нет right направления заполнения каждой строки. доступные значения: right (слева-направо) и left (справа-налево)
vdir string Нет down направление заполнения каждой колонки. доступные значения: down (сверху-вниз) и up (снизу-вверх)

Example 8.20. {html_table}


<?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');

?>

  

Шаблон:


{html_table loop=$data}
{html_table loop=$data cols=4 table_attr='border="0"'}
{html_table loop=$data cols="first,second,third,fourth" tr_attr=$tr}

  

Результат выполнения данного примера:


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