It is possible to change templates use by default.
First, override the controller action method, in your AdminBundle/Controller/SecteurAdminController.php file
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | /** * 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