2013-08-01 123 views
0

我建立了自己的注册表单,当我尝试注册用户时,它并没有反应。与FOSUserBundle的一切都很好。另外,当我使用默认的FOSUserBundle注册表单时,它将工作并将所有数据保存在我的表格中。我应该只使用FOSUserBundle的默认表单还是什么?注册表格[FOSUserBundle]

这里是我的形式,我提出:

<form action="{{ path('fos_user_registration_register') }}" method="post"> 
    <p> 
     <input type="text" name="name"/> 
    </p> 
    <p> 
     <input type="text" name="surname" /> 
    </p> 
    <p> 
     <input type="text" name="email" /> 
    </p> 
    <p> 
     <input type="password" name="password"/> 
    </p> 
    <p> 
     <input type="submit" name="submit" value="Sign up"/> 
    </p> 
</form> 
+0

请在问一个问题时更精确......它没有反应很难成为任何东西......你不能提交表格,它超时了,它不会做你想要的吗? – nifr

回答

0

您需要从控制器通过注册表格(如果你是重写控制器)视图,以便有CSRF令牌可用。否则,表单将无法验证。

为了覆盖FOSUserBundle的标准注册表,请使用bundle inheritance

请阅读FOSUserBundle的文档章节Overriding Default FOSUserBundle Forms

如果您只是想为您的用户实体添加“姓名”和“姓氏”,请添加属性和映射信息,然后将字段添加到被覆盖的表单类。然后覆盖由FOSUserBundle提供的注册表单模板,如果您需要进一步更改。

+0

所以我认为是错的,所以我只能使用控制器的形式? – Momo1987

+0

您可以覆盖默认窗体或覆盖您选择的整个注册控制器。但是如果您只想为用户实体添加“姓名”和“姓氏”,则只需重写表单和模板并将属性+映射信息添加到用户实体。 – nifr

+0

Big Thanx我会试试 – Momo1987

0

阅读documentation如果您需要扩展功能,如何覆盖注册控制器。或者你也可以只用override标准格式来添加额外的字段。

+0

Thanx for the Doc – Momo1987