symfony - 覆盖奏鸣曲用户服务菜单组

标签 symfony sonata-admin sonata sonata-user-bundle

我使用了 Sonata User Bundle。根据 2.5 Extending the Bundle 节下的文档他们希望我为我的用户和组实体生成一个全新的包。我认为这是完全没有必要的,我不想要那个额外的包。因此,我在我的 AppBundle 中创建了我的用户和组实体,并从 Sonata\UserBundle\Entity\BaseUser 实体扩展了它们。

在此之后,我将我的 fos_user user_class 和 group_class 更改为我的新实体。

fos_user:
    db_driver:      orm
    firewall_name:  main
    user_class:     AppBundle\Entity\User

    group:
        group_class:   AppBundle\Entity\Group
        group_manager: sonata.user.orm.group_manager

    service:
        user_manager: sonata.user.orm.user_manager

一切正常,我的数据库中的用户和组表已正确生成,我可以通过 fos user 命令行创建用户,并且可以登录。

在菜单中是一个自动生成的用户组,其中包含用户和组实体(见下图)。现在唯一的问题是覆盖这个实体的服务,让他们使用我自己的实体类,因为当我现在点击其中一个时,他们想要我不想要的扩展包中的实体。我如何告诉 sonata 使用我自己的服务?或者,我怎样才能完全删除或隐藏用户(包括用户和组)?

enter image description here

最佳答案

在深入研究 Sonata User Bundle 文件后,我发现可以使用参数设置实体。所以我所要做的就是添加;

parameters:
    sonata.user.admin.user.entity: AppBundle\Entity\User
    sonata.user.admin.group.entity: AppBundle\Entity\Group

在我的 config.yml 文件中。

关于symfony - 覆盖奏鸣曲用户服务菜单组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39427681/

相关文章:

symfony - 通过 buildForm() 中的 $options 访问变量

forms - 未显示隐藏字段的 symfony 表单验证消息

symfony - 如何在奏鸣曲管理中基于另一个表单字段创建动态表单字段?

symfony - Symfony2 中 SonataAdminBundle 列表的 toString 方法

forms - Symfony2 - 在包外使用奏鸣曲字段类型

symfony - 非映射表单、Ent​​ityType 和数据属性

php - Symfony 5.2.3 接口(interface)类型提示

symfony - SonataAdmin,左侧添加菜单

php - Sonata DateTimePickerType 类默认日期显示错误的日期时间格式

sonata-admin - Sonata Admin 中的默认排序 - Mediabundle