2017-09-16 13 views
1

나는 다음과 같은 오류가 형태 렌더링려고 할 때 내가 심포니 3.3.9를 사용하고있어이 포함되어 있기 때문에 양식을 렌더링 할 수 없습니다 :블록 이름 배열이 중복

An exception has been thrown during the rendering of a template ("Unable to render the form because the block names array contains duplicates: "_fos_user_registration_form_errors", "user_errors", "user_errors", "fos_user_registration_errors", "form_errors".").

enter image description here

도움을 주셔서 감사합니다. 여기

편집 17/09/2017 당신은 이동 :

public function indexAction() 
{ 
    /** @var $formFactory FactoryInterface */ 
    $formFactory = $this->get('fos_user.registration.form.factory'); 

    $form = $formFactory->createForm(); 

    return $this->render('AppTMMainBundle:Default:index.html.twig', array(
     'form' => $form->createView(), 
    )); 
} 

내 나뭇 가지 :

{{ form_start(form, {'method': 'post', 'action': path('fos_user_registration_register')}) }} 
<div class="card-content"> 
    <h3 class="text-center title" style="color: #3C4858;margin:10px 0;">Inscription</h3> 
    <div class="social text-center"> 
     <a class="btn btn-just-icon btn-round btn-facebook" href="{{ path('hwi_oauth_service_redirect',{'service': 'facebook'}) }}"> 
      <i class="fa fa-facebook"> </i> 
     </a> 
     <a class="btn btn-just-icon btn-round btn-twitter" href="{{ path('hwi_oauth_service_redirect',{'service': 'twitter'}) }}"> 
      <i class="fa fa-twitter"></i> 
     </a> 
     <a class="btn btn-just-icon btn-round btn-google" href="{{ path('hwi_oauth_service_redirect',{'service': 'google'}) }}"> 
      <i class="fa fa-google-plus"></i> 
     </a> 
    </div> 
    <p class="description text-center">Ou de façon plus classique</p> 
    <div class="row"> 
     <div class="col-xs-6"> 
      {{ form_label(form.firstname) }} 
      {{ form_widget(form.firstname) }} 
     </div> 
     <div class="col-xs-6"> 
      {{ form_label(form.lastname) }} 
      {{ form_widget(form.lastname) }} 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-xs-12"> 
      {{ form_label(form.email) }} 
      {{ form_widget(form.email) }} 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-xs-6"> 
      {{ form_widget(form.plainPassword.first, {'attr': {'class': 'form-control', 'placeholder': 'form.password'}}) }} 
     </div> 
     <div class="col-xs-6"> 
      {{ form_widget(form.plainPassword.second, {'attr': {'class': 'form-control', 'placeholder': 'form.password_confirmation'}}) }} 
     </div> 
    </div> 

    <!-- If you want to add a checkbox to this form, uncomment this code --> 
    <div class="input-group"> 
     <div class="checkbox"> 
      <label> 
       <input type="checkbox" name="optionsCheckboxes" checked=""> 
       {{ 'index.proceed.agree'|trans }} <a href="{{ path('tm_main_policies_terms') }}">{{ 'index.proceed.cgu'|trans }}</a>. 
      </label> 
     </div> 
    </div> 
    <div class="footer text-center"> 
     <input type="submit" class="btn btn-primary btn-round" value="{{ 'index.action.subscribe'|trans }}"> 
    </div> 
</div> 
{{ form_end(form) }} 
+1

질문에 양식과 나뭇 가지 템플릿을 포함시킬 수 있습니까? – Strnm

+1

폼에'user_rest'가 두 번 정의 된 것처럼 보입니다. 양식 코드를 보여줄 수 있습니까? –

+0

소식이 업데이트되었습니다. :) – Liogate

답변

0

내 질문에 대한 답을 발견했다.

다른 Registration 클래스로 확장하려고했던 My RegistrationType 클래스에서 가져온 것입니다. 의 getParent는 ...뿐만 아니라 예상 작동하지

RegistrationType> UserType을 > FOS \ UserBundle \ 양식 \ 타입 \ RegistrationFormType

나는 RegistrationType에서 UserType을 모든 필드를 이동하고 그것을 위해 :)

3

일하고있어 그러한 예외가있는 사람 :

양식 유형을 확장해서는 안되며, 대신 자신을 만들고 getParent를 사용하여 동작을 상속하십시오. 클래스 이름이 다른 유형 (네임 스페이스 제외) 과 같으면 AbstractType에서 getBlockPrefix를 대체해야합니다.

AbstractType의 getBlockPrefix 메소드는 fqcn (클래스 이름)의 마지막 부분을 사용하며 중복 된 블록 이름을 가질 수 있습니다.