{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> </td><td> </td><td> </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> </td><td> </td><td> </td></tr> </tbody> </table>