What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
{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>