之前我从未遇到过此问题,但我正在尝试从 FOSUserBundle 向我的注册表单中添加一个字段。在结果中,我只有捆绑包中的默认表单,但没有得到我的birthday_date
字段。我做错了什么?
RegistrationType类:
<?php
namespace AppBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class RegistrationType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('birthday_date');
}
public function getParent()
{
return 'fos_user_registration';
}
public function getName()
{
return 'app_user_registration';
}
}
config.yml:
fos_user:
db_driver: orm # other valid values are 'mongodb' and 'couchdb'
firewall_name: main
user_class: AppBundle\Entity\User
registration:
form:
name: app_user_registration
services.yml :
app.form.registration:
class: AppBundle\Form\RegistrationType
tags:
- { name: form.type, alias: app_user_registration }
我只是按照文档说明进行操作,所以我不知道问题在哪里
答案 0 :(得分:0)
您的getParent()
函数应该返回父表单的类而不是名称,这些更改附带版本&gt; 2.8,检查Overriding a Form Type
所以你的表单类型应该变成:
<?php
namespace AppBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class RegistrationType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('birthday_date');
}
public function getParent()
{
return 'FOS\UserBundle\Form\Type\RegistrationFormType';
}
public function getName()
{
return 'app_user_registration';
}
}