Довольно часто возникает необходимость в классе формы Symfony2, опциям поля типа «select» добавить HTML атрибуты.
Сделать это можно так:
расширяем метод
| 1 | Symfony\Component\Form\AbstractType::finishView | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |     /**      * @param FormView $view      * @param FormInterface $form      * @param array $options      */     public function finishView(FormView $view, FormInterface $form, array $options)     {         parent::finishView($view, $form, $options);         $additionalAttributes = array();         // myMethod - метод объекта $choice, возвращающий значение, которое надо подставить в атрибут         foreach ($view->children['orders']->vars['choices'] as $id => $choice) {             $additionalAttributes[$id] = array(                 'data-cost' => $this->propertyAccessor->getValue($choice->data, 'myMethod'),                 'disabled' => 'disabled',             );         }         foreach ($view->children['orders']->children as $id => $child) {             $child->vars['attr'] = array_replace(                 isset($child->vars['attr']) ? $child->vars['attr'] : array(),                 $additionalAttributes[$id]             );         }     } | 





