索纳塔用户捆绑包配置错误


Sonata User Bundle configuration error

我尝试安装Sonata用户捆绑包,但是执行命令时配置出现问题

app/console sonata:easy-extends:generate SonataUserBundle -d src

git bash 显示此错误:

 [Symfony'Component'DependencyInjection'Exception'ParameterNotFoundException]
  The service "sonata.user.orm.group_manager" has a dependency on a non-exist
  ent parameter "fos_user.model.group.class". Did you mean this: "fos_user.mo
  del.user.class"?

在您的配置中,您必须具有以下内容:

# app/config/sonata/user.yml or app/config/config.yml
fos_user:
    db_driver:      orm # can be orm or odm
    firewall_name:  main
    user_class:     FOS'UserBundle'Entity'User     #Default configuration
    # ...
    group:
        group_class:   FOS'UserBundle'Entity'Group
        group_manager: sonata.user.orm.group_manager

您可以将 FOSUserBundle 实体替换为您自己的实体。

您必须安装和配置 FOSUserBundle,

因为 SonataUserBundle 是用于将 FOSUserBundle 集成到 SonataProject 中的捆绑包。

您可以阅读此安装文档以了解:SonataUserBundle安装

你有没有注意到 FosUserBundle 进入你的 AppKernel.php 文件,如下所示:

public function registerbundles()
{
    return array(
        new Sonata'CoreBundle'SonataCoreBundle(),
        new Sonata'BlockBundle'SonataBlockBundle(),
        new Sonata'EasyExtendsBundle'SonataEasyExtendsBundle(),
        // ...
        // You have 2 options to initialize the SonataUserBundle in your AppKernel,
        // you can select which bundle SonataUserBundle extends
        // Most of the cases, you'll want to extend FOSUserBundle though ;)
        // extend the ``FOSUserBundle``
        new FOS'UserBundle'FOSUserBundle(),
        new Sonata'UserBundle'SonataUserBundle('FOSUserBundle'),
        // OR
        // the bundle will NOT extend ``FOSUserBundle``
        new Sonata'UserBundle'SonataUserBundle(),
        // ...
    );
}