Php 根据某些条件显示/隐藏菜单选项

Php 根据某些条件显示/隐藏菜单选项,php,symfony-3.4,symfony2-easyadmin,easyadmin,Php,Symfony 3.4,Symfony2 Easyadmin,Easyadmin,我想根据用户表中的某些字段显示/隐藏菜单中的选项。有办法做到这一点吗?例如,如果user.isFirst()则从菜单中隐藏选项“Product” easy_admin: site_name: '<img src="/build/images/logo.png" alt="dfg" />' formats: datetime: 'Y-m-d' design: brand_color: '#009036' color_scheme: 'light' for

我想根据用户表中的某些字段显示/隐藏菜单中的选项。有办法做到这一点吗?例如,如果user.isFirst()则从菜单中隐藏选项“Product”

easy_admin:
site_name: '<img src="/build/images/logo.png" alt="dfg" />'
formats:
    datetime: 'Y-m-d'
design:
    brand_color: '#009036'
    color_scheme: 'light'
    form_theme: 'vertical'
    templates:
        layout: 'admin/default/layout.html.twig' #for rewrite layout and add edit my account button

    menu:
    - label: 'menu.labels.dashboard'
      route: 'route_declarant_dashboard'
      icon: 'dashboard'
      default: true
      params:
          menuIndex: 0
    - label: 'menu.labels.products'
      entity: 'Products'
      icon: 'shopping-bag'
    - label: 'menu.labels.users'
      entity: 'Users'
      icon: 'bullhorn'  
easy\u管理:
站点名称:“”
格式:
日期时间:“Y-m-d”
设计:
品牌颜色:'#009036'
配色方案:“灯光”
表格主题:“垂直”
模板:
布局:“admin/default/layout.html.twig”#用于重写布局和添加编辑我的帐户按钮
菜单:
-标签:“菜单。标签。仪表板”
路线:“路线\声明人\仪表板”
图标:“仪表板”
默认值:true
参数:
菜单索引:0
-标签:“菜单。标签。产品”
实体:“产品”
图标:“购物袋”
-标签:“菜单。标签。用户”
实体:“用户”
图标:“扩音器”
因此,我们的想法是:

  • 隐藏“产品”-->if user.isFirst()

  • 展示“产品”-->其他案例


  • 通过在文件夹
    app/templates/easy\u admin/

    {% extends '@!EasyAdmin/default/menu.html.twig' %}
    
    <!-- [...] extract for example -->
    {% if is_granted("CAN_SEE_PRODUCT")) and item.label = 'Products' %} <!-- your if condition of viewing menu link -->
        <a href="{{ path }}" {% if item.target|default(false) %}target="{{ item.target }}"{% endif %}>
                {% if item.icon is not empty %}<i class="fa {{ item.icon }}"></i>{% endif %}
                <span>{{ item.label|trans(domain = translation_domain) }}</span>
                {% if item.children|default([]) is not empty %}<span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span>{% endif %}
        </a>
    {% endif %}
    <!-- [...] extract -->
    
    {%extends'@!EasyAdmin/default/menu.html.twig%}
    {%if被授予(“可以看到产品”))和item.label='Products%}
    {%endif%}
    
    这只会隐藏链接。除非您更改easy admin controller,否则用户仍可以访问其他页面。 您可以从中得到一些关于根据用户角色显示菜单的灵感,以便轻松管理