Symfony sfWidgetFormChoice отключено по умолчанию - PullRequest
0 голосов
/ 24 августа 2011

Виджет выглядит следующим образом:

$this->widgetSchema['tara'] = new sfWidgetFormChoice(array(
    'choices'  => Doctrine_Core::getTable('Users')->getCountry(),
    'expanded' => false,
    'multiple' => false,
));

И функция getCountry :

static public $country = array(
    '1' => 'România',
    '2' => 'United States',
    '3' => 'France',
);

public function getCountry()
{
    return self::$country;
}

Теперь виджет отображается следующим образом:

  • România
  • США
  • Франция

Но я хочу, чтобы это выглядело так:

  • Выберите страну- Параметр по умолчанию и отключен, который не должен проверяться формой
  • Романия
  • США
  • Франция

Как я могусделать это?

Ответы [ 2 ]

7 голосов
/ 24 августа 2011

Вы можете добавить пустую опцию в ваш массив:

static public $country = array(
    '' => 'Choose a country',
    '1' => 'România',
    '2' => 'United States',
    '3' => 'France',
);

и подтвердить соответственно.

Или вы можете реализовать свой собственный класс на основе sfWidgetFormChoice, который может добавить опцию add_empty (очень похоже на sfWidgetFormDoctrineChoice).

0 голосов
/ 24 августа 2011
static public $country = array(
    '' => 'Choose a country',
    '1' => 'România',
    '2' => 'United States',
    '3' => 'France',
);

Затем используйте это, чтобы отключить:

$this->widgetSchema ['tara']->setAttribute('disabled','disable');

...