不要渲染表格字段,symfony

时间:2017-01-11 09:34:57

标签: php symfony

我不想要一些字段来展示。我试过这样的

{{form_start(form)}}
{{form_widget(form)}}
{% do form.password.setRendered %}
{{ form_end(form) }}

但它没有用。

这是我的表单类。我不希望password字段显示。

class UserType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
                ->add('username')
                ->add('email')
                ->add('password')
                ->add('type', ChoiceType::class, array(
                    'choices' => array(
                        'User' => 'ROLE_USER',
                        'Admin' => 'ROLE_ADMIN',
                        ),
                    ))
                ->add('save', SubmitType::class)
                ;
    }
}

2 个答案:

答案 0 :(得分:2)

在呈现表单之前,您需要更改行的顺序并首先告诉password字段已呈现:

{{form_start(form)}}

{% do form.password.setRendered %}
{{form_widget(form)}}

{{ form_end(form) }}

答案 1 :(得分:1)

Form/UserType.php班级中删除此行:

->add('password')

它将不再呈现。