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