管理员用户的 SonataAdmin 更改模板列表

SonataAdmin change template list for Admin Users

我是 sonata admin + fosuserbundle 的新用户。当用户是管理员时,我需要为列表创建一个新模板。在 CRUD 控制器或奏鸣曲管理员中检查和重定向。

如果您需要管理员 class 并更改样式模板,最好的选择是在 de sonata 管理员 class 中重定向。覆盖 getTemplate() 方法。

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);
        }
    }