Я пытаюсь добавить пользовательские атрибуты к элементам опции с помощью конструктора форм symfony2 im im, не уверен, что это изначально возможно. Если это не так, мне нужно знать, как я буду добавлять функциональность.Как добавить настраиваемые атрибуты в элементы элементов в symfony 2 form builder
Возьмем следующую форму в качестве примера:
class FooForm extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('user','choice',array(
'choices' => array(
'designers'=>'designers',
'1'=>'mike',
'2'=>'carroll',
'developers'=>'developers',
'3'=>'chase',
'4'=>'brett',
'5'=>'jordan',
)
));
}
}
тогда, когда оказывается, мне нужно, чтобы это выглядело как:
<select>
<option value="" disabled="disabled">designers</option>
<option value="1">mike</option>
<option value="2">carroll</option>
<option value="" disabled="disabled">developers</option>
<option value="3">chase</option>
<option value="4">brett</option>
<option value="5">jordan</option>
</select>
, что я бы ожидать, будет что-то вроде:
class FooForm extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('user','choice',array(
'choices' => array(
'designers'=>array(
'label'=>'designers',
'attr'=>arrry('disabled'=>'disabled')
),
'1'=>'mike',
'2'=>'carroll',
'developers'=>array(
'label'=>'developers',
'attr'=>arrry('disabled'=>'disabled')
),
'3'=>'chase',
'4'=>'brett',
'5'=>'jordan',
)
));
}
}
Но это не работает. Поэтому любая помощь по этому поводу будет очень благодарна.
Вам нужно добавить атрибуты в параметры или вы хотите сгруппировать свои параметры? Кажется, вы пытаетесь сгруппировать их. –
Оба, я нашел некоторые группировки в источнике, не уверен, как это сделать. Но мне также нужно добавить атрибуты «data-id» к параметрам, а также – Chausser
Атрибуты по опции не поддерживаются. Если вы создаете вложенный массив значений, вы можете создать группу опций (ключ - имя группы). Если вам действительно нужен способ добавить «идентификатор данных», вероятно, вы должны создать новый FormType, который расширяет тип формы [Entity form] (http://symfony.com/doc/current/reference/forms/types/entity.html) с настраиваемым шаблоном. –