2013-04-24 43 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 %}