This repository has been archived by the owner on Dec 31, 2019. It is now read-only.
forked from AliHichem/AliDatatableBundle
-
Notifications
You must be signed in to change notification settings - Fork 1
How to use
AliHichem edited this page Apr 1, 2012
·
1 revision
Assuming for example that you need a grid in your "index" action, create in your controller method as below:
/**
* set datatable configs
*
* @return \Ali\DatatableBundle\Util\Datatable
*/
private function _datatable()
{
return $this->get('datatable')
->setEntity("XXXMyBundle:Entity", "x") // replace "XXXMyBundle:Entity" by your entity
->setFields(
array(
"Name" => 'x.name', // Declaration for fields:
"Adress" => 'x.adress', // "label" => "alias.field_attribute_for_dql"
"_identifier_" => 'x.id') // you have to put the identifier field without label. Do not replace the "_identifier_"
)
->setWhere( // set your dql where statement
'x.adress = :adress',
array('adress' => 'Paris')
)
->setOrder("x.created", "desc") // it's also possible to set the default order
->setHasAction(true); // you can disable action column from here by setting "false".
}
/**
* Grid action
* @return Response
*/
public function gridAction()
{
return $this->_datatable()->execute(); // call the "execute" method in your grid action
}
/**
* Lists all entities.
* @return Response
*/
public function indexAction()
{
$this->_datatable(); // call the datatable config initializer
return $this->render('XXXMyBundle:Module:index.html.twig'); // replace "XXXMyBundle:Module:index.html.twig" by yours
}