一个 Symfony 应用程序中的两个 Sonata 管理面板包

Posted

技术标签:

【中文标题】一个 Symfony 应用程序中的两个 Sonata 管理面板包【英文标题】:Two Sonata Admin Panel Bundles in one Symfony application 【发布时间】:2018-02-15 08:39:55 【问题描述】:

是否可以在一个 Symfony 应用程序中包含两个 Sonata 管理面板捆绑包?我怎样才能做到这一点?

【问题讨论】:

您只能在应用中添加一个捆绑包。制作一个通用项目而不是添加 2 个科幻应用怎么样? 【参考方案1】:

正如 KondukterCRO 提到的,每个 Symfony 项目可能只有一个 Sonata Admin 安装。

但是,如果您需要,您可以:

两个仪表板,例如有一个 native dashboard 和第二个仪表板 - 制作自定义操作 + 模板 两组实体具有不同的访问权限。尽管所有 Sonata Admin 页面都有一个共同的前缀 - 您仍然可以使用 security.yml >> access_control 部分中的简单规则或更复杂的规则来分离 Sonata Admin 页面的访问权限 - 在每个管理类中,在方法 ::isGranted()

【讨论】:

只是为您的好方法添加几行。制作一个通用的科幻项目,例如在一个包中实现奏鸣曲,在另一个包中运行带有新奏鸣曲的全新科幻应用程序。将所有内容配置为工作有点太多的工作,但是,...另一件事,也许您可​​以添加多个角色并拥有一个带有一个奏鸣曲并基于角色授予权限的管理区域。

以上是关于一个 Symfony 应用程序中的两个 Sonata 管理面板包的主要内容,如果未能解决你的问题,请参考以下文章

在 Symfony2 中使用同一个包中的两个实体管理器

如何防止访问 Symfony 2 中的特定路由

Symfony:CollectionType 中的 OrderBy

在 symfony2 中创建表

两个用户提供商的 Symfony 安全策略?

尝试连接两个数据库时出现Symfony错误