自Symfony2更新到2.8以来,正在覆盖注册表(SonataUserBundle)



在将依赖项更新为2.8的symfony2后,我在尝试覆盖sonata用户捆绑包注册表时收到以下错误消息:

The field type "SonataUserBundleFormTypeRegistrationFormType" is not registered with the service container.

如果我切换回Symfony 2.7,一切都会恢复正常。

我的服务yml:

sonata.user.registration.form.type:
    class: MyBundleFormTypeRegistrationFormType
    arguments: [ "%fos_user.model.user.class%" , "@service_container"]
    tags:
        - { name: form.type, alias: sonata_user_registration }

在我的控制器中,以下行触发错误:

$form = $this->container->get( 'sonata.user.registration.form' );

不幸的是,我找不到任何关于这个主题的资源(即,自最新版本以来,覆盖注册表表是否有任何更改)

好吧,这不是一个bug,而是一个新特性。您必须使用捆绑包中的build()和boot()方法通过FormHelper::registerFormTypeMapping注册FormType。

相关内容

  • 没有找到相关文章

最新更新