Php 根据角色显示仪表板组(不带acl组)

Php 根据角色显示仪表板组(不带acl组),php,symfony,roles,sonata-admin,sonata,Php,Symfony,Roles,Sonata Admin,Sonata,我试图在仪表板上显示多个部分,具体取决于登录用户的角色 我不与ACL组或类似的东西一起工作。我只是在我的保安室里。yml: role_hierarchy: ROLE_COMPANY: ROLE_USER ROLE_ADMIN: [ROLE_COMPANY, ROLE_USER] ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] 根据登录用户的角色,我可以登录并在列表视图中显示数据(作业概述示

我试图在仪表板上显示多个部分,具体取决于登录用户的角色

我不与ACL组或类似的东西一起工作。我只是在我的保安室里。yml:

role_hierarchy:
    ROLE_COMPANY:     ROLE_USER
    ROLE_ADMIN:       [ROLE_COMPANY, ROLE_USER]
    ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
根据登录用户的角色,我可以登录并在列表视图中显示数据(作业概述示例)

现在,我想在登录用户不是管理员时隐藏仪表板上的一个部分

在我的admin.yml中,我有:

services:
    sonata.admin.jobs:
        class: MyBundleName\Admin\JobAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: "Job Manager", label: "Jobs", roles: ROLE_ADMIN }
        arguments:
            - ~
            - MyBundleName\Entity\Job
            -
        calls:
            - [ setTranslationDomain, [MyBundleName]]
            - [ setTemplate, [show, MyBundleName:Job:base_show.html.twig]]

    sonata.admin.applications:
        class: MyBundleName\Admin\ApplicationAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: "Job Manager", label: "Applications" }
        arguments:
            - ~
            - MyBundleName\Entity\Application
            -
        calls:
            - [ setTranslationDomain, [MyBundleName]]

    sonata.admin.categories:
        class: MyBundleName\Admin\CategoryAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: "Job Extra", label: "Categories" }
        arguments:
            - ~
            - MyBundleName\Entity\Category
            -
        calls:
            - [ setTranslationDomain, [MyBundleName]]

    sonata.admin.skills:
        class: MyBundleName\Admin\SkillAdmin
        tags:
            - { name: sonata.admin, manager_type: orm, group: "Job Extra", label: "Skills" }
        arguments:
            - ~
            - MyBundleName\Entity\Skill
            -
        calls:
            - [ setTranslationDomain, [MyBundleName]]
如你所见,我有两个组“工作经理”和“额外工作”。如果登录的用户不是管理员,我想隐藏组“Job extra”。
但是最简单的方法是什么呢?

您可以通过以下方法直接在您的小树枝中检查您的用户角色:

{%if被授予('ROLE\u USER')%}
只展示这个

{%endif%}

您可以通过以下方法直接在您的小树枝中检查您的用户角色:

{%if被授予('ROLE\u USER')%}
只展示这个
{%endif%}

他正在使用细枝辅助工具“sonata_block_render”,所以我现在不知道加载了哪个块。他正在使用细枝辅助工具“sonata_block_render”,所以我现在不知道加载了哪个块。。