Symfony sfWidgetFormSelect и пользовательский рендеринг - PullRequest
0 голосов
/ 13 мая 2011

Я использую виджет sfWidgetFormSelect для отображения списка выбора. Точнее, я использую функцию, позволяющую группам, довольно легко с этим:

$choices = array(
  'Europe'  => array('France' => 'France', 'Spain' => 'Spain', 'Italy' => 'Italy'),
  'America' => array('USA' => 'USA', 'Canada' => 'Canada', 'Brazil' => 'Brazil'),
);    
$w = new sfWidgetFormChoice(array('choices' => $choices));

Это хорошее начало, но этого недостаточно, потому что мне нужно, чтобы к каждому элементу списка были привязаны определенные классы CSS.

Как я могу это сделать? Документ на самом деле не помогает подобным расширенным функциям.

Спасибо.

1 Ответ

0 голосов
/ 14 мая 2011

Немного поиграв с ними, насколько я знаю, этот уровень контроля невозможен с помощью класса формы. Вы можете передать класс CSS в основной виджет, но он будет применяться ко всем тегам <option> внутри <select>.

Возможно, вам лучше просто написать этот раскрывающийся список в HTML и убедиться, что он соответствует этому виджету с точки зрения его имени. Таким образом, вы можете использовать свой собственный HTML, но все равно использовать виджет при проверке. Другим вариантом может быть обработка расширенного стиля с помощью Javascript, где вы можете подключить его к самим значениям параметров, хотя это немного запутанно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...