2016-02-11 3 views
1

У меня есть formtype, ContactoType, эта форма содержит следующие поля:как создавать динамические формы в Symfony2

public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $builder 
      ->add('nombre','text', array(
       'attr' => array(
        'placeholder' => 'contacto.nombre' 
       ) 
      )) 
      ->add('departamento', 'entity', array(
       'label' => "Departamentos", 
       'class' => 'ProductosBundle:Departamento', 
       'property' => 'nombre' 
      )) 
      ->add('fechaEvento', 'birthday',array(
       'input' => 'datetime', 
       'widget' => 'single_text', 
       'format' => 'dd-MM-yyyy', 
       'attr' => array(
        'placeholder' => 'DD-MM-YYYY', 
        'class' => 'form-control'))) 
      ->add('promocion','text', array(
       'attr' => array(
        'placeholder' => 'contacto.promocion' 
       ) 
      )) 
      ->add('apodo','text', array(
       'attr' => array(
        'placeholder' => 'contacto.apodo' 
       ) 
      )) 
      ->add('file','file', array(
       'attr' => array(
        'placeholder' => 'contacto.fichero' 
       ) 
      )) 
      ; 
    } 

Объект Departamento имеет поле с именем «requiresadditional», если это правда, и продвижение ник будет отображаться, если false, они скрыты. Не знаю, как вы могли получить значение поля «требует дополнительных» ...

Как это должно быть? Спасибо!

+0

Какую версию Symfony вы используете? – Heah

+0

Моя версия 2.7.9 –

ответ

1

Вы должны протестировать свой объект Departamento в FormEvent. Прочтите документацию о FormEvents here.

+0

Да, спасибо! –

0

Обычно я добавляю все поле в форму symfony, и я отображаю/скрываю поле, используя простое событие javascript.

+0

Да, но мне нужно показать/скрыть функцию «требует дополнительного» значения объекта отправления, которое должно быть выбрано в форме Contacto. –

+0

. Вы можете добавить атрибут в поле параметров внутри вашего EntityType, используя следующий пример из документации: http://symfony.com/doc/current/reference/forms/types/choice.html#choice-attr –

Смежные вопросы