Использование optgroup в sfWidgetFormPropelChoice, так как значения столбца - PullRequest
0 голосов
/ 02 декабря 2011

Я нахожусь в проекте, который использует Symfony 1.2 (я знаю, что это довольно старый, но я ничего не могу с этим поделать).

У меня есть виджет sfWidgetFormPropelChoice, который передает его параметры из иностранногоключ, который существует, скажем, в таблице А. Я хотел бы сгруппировать этот внешний ключ, начиная с другого столбца в таблице А, с элементом HTML optgroup.

Итак, у меня есть что-то вроде этого:

$this->widgetSchema['B_has_A_list'] = new sfWidgetFormPropelChoiceMany(array(
   'model' => 'TableA',
));

И я хотел бы иметь что-то такое простое:

$this->widgetSchema['B_has_A_list'] = new sfWidgetFormPropelChoiceMany(array(
   'model' => 'TableA',
   'optgroup' => 'ColumnInTableA', //That's not possible. It would group options grouping by ColumnInTableA using the optgroup HTML element
));

Знаете ли вы еще один простой способ добиться этого.Или вы знаете какой-нибудь расширенный sfWidgetFormPropelChoice, который этого добивается?

Спасибо.

1 Ответ

1 голос
/ 02 декабря 2011

Хорошо, я расширил виджет Symfony для достижения этой цели.Если кто-то заинтересован, он находится в github:

https://github.com/laMarciana/sfWidgetFormChoiceOptgroup

Для использования вам нужно определить те же обязательные опции, что и sfWidgetFormPropelChoice плюс опция optgroup_column с PhpName столбцавы хотите использовать в качестве оптгрупп.

Пример:

$this->widgetSchema['field'] = new sfWidgetFormPropelChoiceOptgroup(array(
    'model' => 'Table',
    'optgroup_column' => 'Column',
));

Я также добавил версию для Doctrine.

...