У меня есть виджет формы типа «выбор», который отображается в виде списка многих флажков. Все отлично работает. Итак, чтобы подчеркнуть это: есть ОДИН виджет с МНОЖЕСТВОМ флажков (а НЕ несколько виджетов флажков).
Теперь я хочу отключить некоторые из этих флажков. Данные для этого доступны в $options-Array.
Вот функция buildForm() моего FooType.php
...
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('foo', 'choice', array('choices' => $options['choiceArray']['id'],
'multiple' => true,
'expanded' => true,
'disabled' => $options['choiceArray']['disabled'] // does not work (needs a boolean)
'data' => $options['choiceArray']['checked'], // works
'attr' => array('class' => 'checkbox')))
;
}
...
Мой Twig-шаблон выглядит так:
{% for foo in fooForm %}
<dd>{{ form_widget(foo) }}</dd>
{% endfor %}
Я могу только отключить ВСЕ флажки (установив «отключено» => true в buildForm). И передача массива туда не работает (как прокомментировано во фрагменте).
Как я могу отключить некоторые выбранные флажки (хранящиеся в $options['choiceArray']['disabled']) выбранного виджета?