Search code examples
sonata-adminsymfony-2.3

SonataAdmin change template list for Admin Users


i am a new user in sonata admin + fosuserbunle. I need create a new template for list when user is a admin. Check and redirect in CRUD controller or in the sonata admin.


Solution

  • if you need admin class and change the style template, the best option is redirect in de sonata admin class. Overwrite getTemplate() method.

    class YourEntityAdmin extends Admin {
    
         public function getTemplate($name)
         {
             if ($this->configurationPool->getContainer()->get('security.context')->isGranted('ROLE_ADMIN')) 
             {
                switch ($name) {
                    case 'list':
                        return 'YourBundle:Entity:list.html.twig';
                    default:
                        return parent::getTemplate($name);
                }
            } else {
                return parent::getTemplate($name);
            }
        }