Smarty Manual
Prev | Chapter 8. Custom Functions | Next

# html_table

Attribute Name | Type | Required | Default | Description
--- | --- | --- | --- | ---
loop | array | Yes | n/a | array of data to loop through
cols | integer | No | 3 | number of columns in the table
table_attr | string | No | border="1" | attributes for table tag
tr_attr | string | No | empty | attributes for tr tag (arrays are cycled)
td_attr | string | No | empty | attributes for td tag (arrays are cycled)
trailpad | string | No | &nbsp; | value to pad the trailing cells on last row with (if any)
hdir | string | No | right | direction of one row to be rendered. possible values: left/right
vdir | string | No | down | direction of the columns to be rendered. possible values: up/down

html_table is a custom function that dumps an array of data into an HTML table. The cols attribute determines how many columns will be in the table. The table_attr, tr_attr and td_attr values determine the attributes given to the table, tr and td tags. If tr_attr or td_attr are arrays, they will be cycled through. trailpad is the value put into the trailing cells on the last table row if there are any present.

Example 8-13. html_table
    index.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');

    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}

    OUTPUT:

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

Prev | Home | Next
html_select_time | Up | math