2013-04-24 36 views
0

如何防止通過Symfony2 - FosUserBundle呈現的表單被嵌套? 建設者有兩個領域,他們是重複領域。看來,這是goind被渲染爲嵌套Symfony2 fosUserBundle更改密碼防止嵌套形式

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder->add('current_password', 'password', array(
     'label' => 'form.current_password', 
     'translation_domain' => 'FOSUserBundle', 
     'mapped' => false, 
     'constraints' => new UserPassword(), 
    )); 
    $builder->add('new', 'repeated', array(
     'type' => 'password', 
     'options' => array('translation_domain' => 'FOSUserBundle'), 
     'first_options' => array('label' => 'form.new_password'), 
     'second_options' => array('label' => 'form.new_password_confirmation'), 
     'invalid_message' => 'fos_user.password.mismatch', 
    )); 
} 

我能得到什麼,當呈現的形式是這樣的: http://pastebin.com/Np2bvgvH

正如你所看到的,重複的表單字段被包裹在另一個「 FormRows「-div。我希望它們變得簡單「FormRow」-divs而不需要額外的FormRows。佈局並不意味着有兩個嵌套的FormRows

我希望你能理解我的問題。

謝謝

回答

0

的解決方案是重新定義repeated_row塊

{% block repeated_row %} 
{% spaceless %} 

    {% for child in form %} 
     {{ form_row(child) }} 
    {% endfor %} 

{% endspaceless %} 
{% endblock repeated_row %}