2016-02-29 81 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

相關問題