fragote / zfc-datagrid
Zend Framework 2 Module that provides a datagrid for different datasources and output formats
Requires
- php: ~5.4|~7.0
- zendframework/zend-cache: ~2.3
- zendframework/zend-http: ~2.3
- zendframework/zend-modulemanager: ~2.3
- zendframework/zend-mvc: ~2.3
- zendframework/zend-paginator: ~2.3
- zendframework/zend-session: ~2.3
- zendframework/zend-view: ~2.3
Requires (Dev)
- doctrine/doctrine-orm-module: >=0.8
- fabpot/php-cs-fixer: *@dev
- phpunit/phpunit: ~4.0
- satooshi/php-coveralls: dev-master
- zendframework/zendframework: ~2.3
Suggests
- ext-intl: *
- doctrine/doctrine-orm-module: >=0.8
- phpoffice/phpexcel: ~1.7
- tecnick.com/tcpdf: ~6.0
README
A datagrid for ZF2 where the data input and output can be whatever you want...:-)
Over 330 tests and 1000 assertions testing the stability currently!
If you need help, please use following ressources
If you want to help out on this project:
- seek through the issues
- documentation
- ...any other help
Features
- Datasources: Doctrine2 (QueryBuilder + Collections), Zend\Db, PhpArray, ... (others possible)
- Output types: jqGrid, Bootstrap table, PDF, Excel, CSV, console, ... (others possible)
- Bootstrap table with Daterange Filter need to load manually js and css
- different column types
- custom formatting, type based formatting (string, date, number, array...)
- column/row styling for all or based on value comparison
- column filtering and sorting
- external data can be included to the dataset (like gravator or any other)
- pagination
- custom toolbar / view
- ...
Installation
(optional) Create a new ZF2 project
To get started with a ZF2 application, please see the Skeleton application
Get ZfcDatagrid
Install it with composer
is easy
php composer.phar require thadafinser/zfc-datagrid:dev-master
(If you don't have composer:
Download it as a zip from github and put in into vendor/ZfcDatagrid
and make sure that autoloading works)
Add ZfcDatagrid
to your config/application.config.php
Finally create the folder: data/ZfcDatagrid
Test if it works
####Browser####
Attention! Only PhpArray works out of the box! For Zend\Db\Sql\Select and Doctrine2 you need to install DoctrineORMModule (Doctrin2 creates the database for Zend\Db\Sql\Select)
PhpArray http://YOUR-PROJECT/zfcDatagrid/person/bootstrap
Doctrine2 http://YOUR-PROJECT/zfcDatagrid/personDoctrine2/bootstrap
Zend\Db\Sql\Select http://YOUR-PROJECT/zfcDatagrid/personZend/bootstrap
####Console####
If you just type php index.php
a help for all commands will be shown
cd YOUR-PROJECT/public/
php index.php datagrid person
php index.php datagrid person --page 2
php index.php datagrid person --sortBys=age
php index.php datagrid person --sortBys=age,givenName --sortDirs=ASC,DESC