It is possible to change templates use by default.
First, override the controller action method, in your AdminBundle/Controller/SecteurAdminController.php file
/**
* return the Response object associated to the list action
*
* @return Response
*/
public function listAction()
{
if (false === $this->admin->isGranted('LIST')) {
throw new AccessDeniedException();
}
$datagrid = $this->admin->getDatagrid();
$formView = $datagrid->getForm()->createView();
// set the theme for the current Admin Form
$this->get('twig')->getExtension('form')->setTheme($formView, $this->admin->getFilterTheme());
//custom code from here
$total = 0;
$enable = 0;
$new = 0;
$site = $this->admin->site;
$repository = $this->getDoctrine()->getRepository('TripixAdminBundle:Annonce');
$total = $repository->getNombreAnnonceTotal($site);
$enable = $repository->getNombreAnnonceEnabled($site);
$new = $repository->getNombreAnnonceNew($site);
return $this->render('TripixAdminBundle:CRUD:list_secteur.html.twig', array(
'action' => 'list',
'form' => $formView,
'datagrid' => $datagrid,
'total' => $total,
'enable' => $enable,
'new' => $new,
));
}
The import thing on previous code is the render() fonction, the first parameter is the template to use.
In our example, the template file will be /AdminBundle/Ressources/view/CRUD/list_secteur.html.twig
You can use the /AdminBundle/Ressources/view/CRUD/base_secteur.html.twig file as example for your custom template.
Parent function to override on the controller are here : /vendor/bundles/Sonata/AdminBundle/Controller/CRUDController.php