Symfony sfWidgetFormChoice默认禁用值

时间:2011-08-24 12:18:56

标签: php symfony1 symfony-1.4

小部件如下所示:

$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;
}

现在小部件呈现如下:

  • 罗马尼亚
  • 美国
  • 法国

但我希望它看起来像这样:

  • 选择国家/地区 - 默认和已停用选项,不应通过表单
  • 验证
  • 罗马尼亚
  • United Stated
  • 法国

我该怎么做?

2 个答案:

答案 0 :(得分:7)

您可以为数组添加“空”选项:

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

并相应地进行验证。

或者您可以实施自己的sfWidgetFormChoice类,可以添加add_empty选项(非常类似于sfWidgetFormDoctrineChoice)。

答案 1 :(得分:0)

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

然后使用此功能禁用:

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