2016-02-29 47 views
1

我读了很多关于如何重写FOSUserBundle注册表单的文章。我需要改变表单输入名称:例:Symfony 3 - Fosuserbundle Registartion表单getBlockPrefix

<input type="email" id="fos_user_registration_form_email" name="fos_user_registration_form[email]" required="required"> 

必须

<input type="email" id="user_registration_email" name="user_registration[email]" required="required"> 

我已经延长,我需要编辑的所有文件,它工作得很好。例如,在我的UserBundle \ Form \ Type \ UserRegistrationType中,我添加了一个名为Firstname的新字段的文本输入,它运行良好。

一般来说,在Symfony的3,这是样品由函数getBlockPrefix()

但随着FOSUserBundle注册表单,doesen't工作编辑表单输入名称。为什么?

我希望有人能帮助我。

回答

0

您可以尝试使用Symfony表单组件重写它。

这里我做在我身边什么个例,在Registration/register.html.twig

<form action="{{ path('fos_user_registration_register') }}" method="post" id="form-register" class="form-horizontal form-bordered"> 
    <div class="form-group" id="fos_user_registration_form"> 
     <div class="col-xs-6"> 
      <div class="input-group"> 
       <span class="input-group-addon"><i class="gi gi-envelope"></i></span> 
       {{ form_widget(form.email, { 'attr': {'class': 'form-control input-lg', 'placeholder': 'form.email'|trans } }) }} 
       {{ form_errors(form.email) }} 
      </div> 
     </div> 
     <div class="col-xs-6"> 
      {{ form_widget(form.username, { 'attr': {'class': 'form-control input-lg', 'placeholder': 'form.username'|trans } }) }} 
      {{ form_errors(form.username) }} 
     </div> 
    </div> 
    {{ form_rest(form) }} 
</form> 
+0

这样我可以覆盖类和placeholde属性,但我需要更改姓名和身份证...... –

0

必须在应用程序的配置文件进行更改路径fos_user>登记>表格>名字,YAML例如:

fos_user: 
    registration: 
     form: 
      name: your_name (or '' to disable block brefix) 

我其实很好奇为什么用户包不尊重表单前缀getter。

来源:config reference

相关问题