我在以下位置创建了自己的表单类型Me\MyBundle\Form\Type\UserFormRegistrationType
:
namespace Me\MyBundle\Form\Type;
use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class UserFormRegistrationType extends BaseType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
parent::buildForm($builder, $options);
// all my unique fields
}
public function getName()
{
return 'user_registration';
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array('data_class' => 'Me\MyBundle\Entity\User'));
}
}
我的 services.yml 中有以下内容:
services:
me_my.registration.form.type:
class: Me\MyBundle\Form\Type\UserFormRegistrationType
arguments: [%fos_user.model.user.class%]
tags:
- { name: form.type, alias: user_registration }
并将以下内容添加到我的 config.yml 中:
# other config stuff
fos_user:
# database stuff, general config
registration:
form:
type: user_registration
然而,当我尝试访问我的注册表单/页面时,我得到:
无法加载类型“user_registration”
任何暗示我显然错过了什么?这不是防火墙问题。我有一个,但调整我的 security.yml 修复了它。这是一个纯粹的未找到错误。很烦人,因为我相信我是按照文档来的。