2016-11-26 3 views
0

При показе формы Symfony в ветке, как скрыть поле, которое не находится в form_widget?Скрытие нежелательных полей формы Symfony от twig

{{ form_start(form) }} 
    {{ form_widget(form.field1) }} 
{{ form_end(form) }} 

И если у меня есть field2 в типе формы он будет отображаться по умолчанию в веточке по независимо от того, что я не вставить в form_widget

class MessageFormType extends AbstractType 
{ 
    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $builder 
      ->add('field1', TextType::class, array()) 

      ->add('field2', TextType::class, array()) 
    } 
} 

Я прячусь этот нежелательный fieleds с css, bit Интересно, есть ли там элегантное решение?

ответ

4

От docs вам необходимо передать ключ, значение пары 'render_rest' : false в тег form_end.

{# don't render unrendered fields #} 
{{ form_end(form, {'render_rest': false}) }} 
+0

Как я мог пропустить что :) –

+1

, но не забудьте, чтобы сделать 'CSRF токен', добавив '{{form_row (form._token)}}', если опция маркер включен, в противном случае вы получите сообщение об ошибке при отправке формы –