自 Symfony2 更新到 2.8 以来覆盖注册表格 (SonataUserBundle)
Overriding Registration Form (SonataUserBundle) since Symfony2 Update to 2.8
将带有依赖项的 symfony2 更新到 2.8 后,我在尝试覆盖 sonata 用户包注册表时收到以下错误消息:
The field type "Sonata\UserBundle\Form\Type\RegistrationFormType" is not registered with the service container.
如果我切换回 Symfony 2.7,一切都会恢复正常。
我的services.yml:
sonata.user.registration.form.type:
class: My\Bundle\Form\Type\RegistrationFormType
arguments: [ "%fos_user.model.user.class%" , "@service_container"]
tags:
- { name: form.type, alias: sonata_user_registration }
在我的控制器中,以下行触发了错误:
$form = $this->container->get( 'sonata.user.registration.form' );
不幸的是,我找不到关于这个主题的任何资源(即自最新版本以来是否有任何更改覆盖注册表)
好的,这不是错误,而是一项新功能。您必须使用包中的 build() 和 boot() 方法通过 FormHelper::registerFormTypeMapping.
注册您的 FormType
将带有依赖项的 symfony2 更新到 2.8 后,我在尝试覆盖 sonata 用户包注册表时收到以下错误消息:
The field type "Sonata\UserBundle\Form\Type\RegistrationFormType" is not registered with the service container.
如果我切换回 Symfony 2.7,一切都会恢复正常。
我的services.yml:
sonata.user.registration.form.type:
class: My\Bundle\Form\Type\RegistrationFormType
arguments: [ "%fos_user.model.user.class%" , "@service_container"]
tags:
- { name: form.type, alias: sonata_user_registration }
在我的控制器中,以下行触发了错误:
$form = $this->container->get( 'sonata.user.registration.form' );
不幸的是,我找不到关于这个主题的任何资源(即自最新版本以来是否有任何更改覆盖注册表)
好的,这不是错误,而是一项新功能。您必须使用包中的 build() 和 boot() 方法通过 FormHelper::registerFormTypeMapping.
注册您的 FormType