В моем приложении Symfony 2 я использую FormBuilder
, чтобы создать форму для выбора данных, содержащихся в сгенерированном документе.Добавить класс для выбора опции в Symfony FormBuilder
$typeChoices = [
'001' => 'first factor',
'002' => 'another factor',
'003' => 'some surcharge',
'004' => 'custom discount',
'005' => 'another surcharge'
];
$formDownload = $this->createFormBuilder(array())
->add('category', 'entity', array(
'class' => 'MyApp\CategoryBundle\Entity\Category',
'choice_label' => 'name'
))
->add('type', 'choice', array(
'choices' => $typeChoices,
'multiple' => true
))
->add('download', 'submit', array(
'attr' => array(
'class' => 'btn-primary'
),
))
->setAction($this->generateUrl('myapp_data_download'))
->getForm();
Данные $typeChoices
загружается из EntityRepository
- я просто упростил код для этой демонстрации.
Таким образом, избранная окно генерируется так:
<select multiple="multiple" class="form-control" required="required" name="form[type][]" id="form_type">
<option value="001">first factor</option>
<option value="002">another factor</option>
<option value="003">some surcharge</option>
<option value="004">custom discount</option>
<option value="005">another surcharge</option>
</select>
Как я могу добавить атрибут к каждому option
class
? Он должен быть создан на основе атрибута исходных данных, поступающих из EntityRepository
. До сих пор я не мог добавить атрибут class
к option
с при использовании FormBuilder
, и я хотел бы избежать создания разметки формы вручную.