dev-master
9999999-dev https://github.com/chrisoconnell/CaoHtmlTableA Zend Framework 2 view helper to render an HTML Table
BSD-3-Clause
The Requires
- php >=5.3.3
- zendframework/zendframework 2.*
zf2 table view helper zendframework
A Zend Framework 2 view helper to render an HTML Table
Zend Framework 2 View Helper to render an HTML Table, (*1)
The input can be either an array or an instance of CaoHtmlTable\Model\Table. The code will try to make to most of what its given., (*2)
./vendor/
../vendor/
directory.Add this project in your composer.json:, (*3)
"require": { "chrisoconnell/cao-html-table": "dev-master" }
Now tell composer to download CaoHtmlTable by running the command:, (*4)
$ php composer.phar update
Enabling it in your application.config.php
file., (*5)
<?php return array( 'modules' => array( // ... 'CaoHtmlTable', ), // ... );
Define table rows as an array of associative arrays., (*6)
$rows = array( array('header col1' => 'col1 row1', 'header col2' => 'col2 row1'), array('header col1' => 'col1 row2', 'header col2' => 'col2 row2'), );
Header row will be set from the keys of the first array., (*7)
Call view helper inside your view script (.phtml file)., (*8)
echo $this->htmlTable($rows);
Which will output the following:, (*9)
<table> <thead> <tr> <th>header col1</th><th>header col2</th> </tr> </thead> <tbody> <tr> <td>col1 row1</td><td>col2 row1</td> </tr> <tr> <td>col1 row2</td><td>col2 row2</td> </tr> </tbody> </table>
Notice that the keys of the array are mapped to the header row., (*10)
Define table rows as an array of arrays., (*11)
$rows = array( array('col1 row1', 'col2 row1'), array('col1 row2', 'col2 row2'), );
Call view helper inside your view script (.phtml file)., (*12)
echo $this->htmlTable($rows);
Which will output the following:, (*13)
<table> <tbody> <tr> <td>col1 row1</td><td>col2 row1</td> </tr> <tr> <td>col1 row2</td><td>col2 row2</td> </tr> </tbody> </table>
Notice that no header row was output., (*14)
When you need more flexibility for the table โ ie set caption, css class โ then you need to create an instance of
CaoHtmlTable\Model\Table
to use as the view helper input., (*15)
Define the instance and set the data., (*16)
$rows = array( array('col1 row1', 'col2 row1'), array('col1 row2', 'col2 row2', 'col 3 row2'), ); $table = new CaoHtmlTable\Model\Table($rows); $table->setAttributes(array('class' => 'selected', 'id' => 'list')) ->setCaption('My Table Caption') ->setHeaderRow(array('Header 1', 'Header 2', 'Header 3'));
When setting the header row, the index of the header will be matched to the index of the
row. If a matching row index is not found, then the table cell will be set to
., (*17)
Call view helper inside your view script (.phtml file)., (*18)
echo $this->htmlTable($table);
Which will output the following:, (*19)
<table class="selected" id="list"> <caption>My Table Caption</caption> <thead> <tr> <th>Header 1</th><th>Header 2</th><th>Header 3</th> </tr> </thead> <tbody> <tr> <td>col1 row1</td><td>col2 row1</td><td> </td> </tr> <tr> <td>col1 row2</td><td>col2 row2</td><td>col 3 row2</td> </tr> </tbody> </table>
A Zend Framework 2 view helper to render an HTML Table
BSD-3-Clause
zf2 table view helper zendframework