Symfony 如何覆盖注册表单FosUserBundle?
我想覆盖一些FOSUserBundle表单(注册表),因此我按照文档进行操作,我无法理解为什么会不断出现相同的错误: 试图从命名空间加载类“RegistrationFormType” “OC\UserBundle\Form\Type”。您是否忘记了“使用”语句 “FOS\UserBundle\Form\Type\RegistrationFormType”? 500内部服务器错误-ClassNotFoundException 这些是我的文件: RegistrationFormType.php:Symfony 如何覆盖注册表单FosUserBundle?,symfony,fosuserbundle,fosrestbundle,Symfony,Fosuserbundle,Fosrestbundle,我想覆盖一些FOSUserBundle表单(注册表),因此我按照文档进行操作,我无法理解为什么会不断出现相同的错误: 试图从命名空间加载类“RegistrationFormType” “OC\UserBundle\Form\Type”。您是否忘记了“使用”语句 “FOS\UserBundle\Form\Type\RegistrationFormType”? 500内部服务器错误-ClassNotFoundException 这些是我的文件: RegistrationFormType.php: &
<?php
namespace OC\UserBundle\Form\Type;
use Symfony\Component\Form\FormBuilder;
use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType;
class RegistrationFormType extends BaseType
{
public function buildForm(FormBuilder $builder, array $options)
{
parent::buildForm($builder, $options);
$builder->add('telephone');
}
public function getName()
{
return 'oc_user_registration';
}
}
我将项目配置为当用户尝试在app/resources/config.yml中注册时使用我的表单类型:
fos_user:
db_driver: orm
firewall_name: main
user_class: OC\UserBundle\Entity\User
registration:
form:
type: oc_user_registration
谁能告诉我这里出了什么问题吗?你明白了吗
一切都解释清楚了,我已经用过了,还可以将他的功能添加到您的注册表类型中 公共函数getParent() { 返回“fos_用户注册”; }
解决了这个问题。错误在于FormType文件的路径与命名空间不相同。无论如何,谢谢您。
找不到FOS\UserBundle\Form\Type\RegistrationFormType
类。您确定它已安装吗?也许你忘了运行composer安装
?否。当我将注册表单从“oc\u user\u registration”更改为“fos\u user\u registration”时,它工作了。将你的oc\UserBundle作为父项绑定FosUserBundle?是的,我覆盖了登录表单,它工作起来很有魅力,但现在我被困在这里了。这是我的OCUserBundle.php:这不可能是问题所在。仅当您希望在我的新注册表中包含fosuserbundle的预定义输入时才使用此选项。添加它不会影响我得到的错误。
fos_user:
db_driver: orm
firewall_name: main
user_class: OC\UserBundle\Entity\User
registration:
form:
type: oc_user_registration