2012-03-29 4 views
6

У меня есть следующий Symfony2 вид:настройки по умолчанию на кнопку радио поля выбора Symfony2

public function buildForm(FormBuilder $builder, array $options) 
{ 
    $builder 
     ->add('submitter_is_home', 'choice', array(
      'expanded' => true, 
      'choices' => array('1' => 'Home', '' => 'Away'), 
      'data' => '1', 
     )) 
    ; 
} 

(. Я опустил мои другие поля для ясности)

Когда я посещаю эту форму в браузере, опция «Главная» не выбрана. Я также проверил источник, и не похоже, что там установлен правильный атрибут.

Значения по умолчанию работают по-разному для переключателей, чем для других типов полей choice? Что здесь может быть?

ответ

10

Если вы хотите выбрать опцию, то empty_value не будет работать.

Простое решение - установить значение для вашего объекта перед добавлением формы (например, $myentity->setRadiobutton(1)). Symfony будет понять и добавить его в качестве выбранного значения (работает с типом выбора, так может быть то же самое с радио!)

+0

Вы правы: который работал на мой переключатель. Благодаря! –

+1

Это не поможет с элементом формы, установленным как 'property_path' => false. – marden

+0

и когда у вас есть форма без образования? – altore

0

в контроллере newAction(), Befor $form = $this->createCreateForm($entity); добавить значение по умолчанию, как этот $entity->setSubmitter_is_home(1);

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