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
 Wallogit.com
                    
                    2017 © Pedro Pelรกez
                         Wallogit.com
                    
                    2017 © Pedro Pelรกez
                    
                    
                    
                    
                
                
            
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