Как предварительно выбрать элемент радио формы с помощью Symfony 2?

Я работаю над формой выбора языка:

    $currentLocale = "en_US"; // This is indeed sent to the formType

    $langs = array(
        'fr_FR' => 'fr',
        'en_US' => 'en'
        );

    $builder->add('language', 'language', array(
        'choices' => $langs,
        'expanded' => true,
        'multiple' => false,
        'required' => false,
        'label' => false,
    ));

HTML-код выглядит так (упрощенно):

<div id="languageForm_language">
    <input type="radio" value="fr_FR">
    <input type="radio" value="en_US">
</div>

как я могу получить второй элемент предварительно выбран, в соответствии с $currentLocale значение ?

2 ответов


в своем $langs array вы можете указать пары значений ключей следующим образом:

array(
  0 => 'value1',
  1 => 'value2'
)

теперь, например, вы хотите предварительно выбрать value2, вы можете установить


Если форма используется с объектом модели, просто установите язык на самом объекте, прежде чем передавать его в форму:

$object->setLanguage($currentLocale);
$form = $this->createForm('some_form_type', $object);

в противном случае выберите data опции к ключу языка по умолчанию:

$builder->add('language', 'language', array(
    'choices' => $langs,
    'data'    => $currentLocale,
    // ...
));