在奏鸣曲管理员中隐藏下载按钮

Posted

技术标签:

【中文标题】在奏鸣曲管理员中隐藏下载按钮【英文标题】:Hide download button in sonata admin 【发布时间】:2016-12-08 14:54:54 【问题描述】:

我想在某些自定义实体中隐藏 Sonata Admin 上的“下载”按钮。如何隐藏/删除它?

如果我覆盖 base_list.html.twig 并从 table_footer 中删除下载按钮,它会消失所有实体列表。有什么办法可以在 Admin 类中隐藏它?

【问题讨论】:

【参考方案1】:

问题解决了!

我通过管理用户角色解决了这个问题。例如:

您想删除帖子部分中的下载按钮。所以你需要在app/config/security.yml中添加以下代码

security:
    role_hierarchy:
        ROLE_PUBLISHER:
            - ROLE_ADMIN_POST_CREATE
            - ROLE_ADMIN_POST_EDIT
            - ROLE_ADMIN_POST_LIST
            - ROLE_ADMIN_POST_VIEW
            - ROLE_ADMIN_POST_EXPORT #If you comment or delete this line. Download button don't show in Sonata Post List.

【讨论】:

【参考方案2】:

您可以通过删除相应的路由来隐藏“下载”按钮:

class YourClass extends AbstractAdmin 

  public function configureRoutes(RouteCollection $collection) 
    $collection->remove('export');
  

【讨论】:

以上是关于在奏鸣曲管理员中隐藏下载按钮的主要内容,如果未能解决你的问题,请参考以下文章

在奏鸣曲管理员中,我们如何拥有多个级别的子管理员

在 Symfony 4 中使用命令行生成管理员奏鸣曲

如何在奏鸣曲管理员中为路由设置主机?

奏鸣曲管理员,覆盖模板中的选择?

奏鸣曲管理员获取所有列表项

在奏鸣曲管理员上导出一对多关系