2017-01-11 6 views
-1

いくつかのフィールドを表示したくありません。私はこのように試しましたフォームフィールドを表示しない、symfony

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

しかし、それは動作しません。

これは私のフォームクラスです。私はpasswordフィールドを表示したくありません。

あなたはフォーム自体をレンダリングする前に、行の順序を変更し、最初の 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) 
       ; 
    } 
} 

答えて

1

{{form_start(form)}} 

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

{{ form_end(form) }} 
1

Form/UserType.phpクラスから、この行削除:

->add('password') 

これはもうレンダリングされません。

関連する問題