sfWidgetFormI18nDateTime 有更多年

sfWidgetFormI18nDateTime with more years

我在表单中使用 sfWidgetFormI18nDateTime,我必须向其添加更多年份(及时)。例如2007年、2006年、2005年等

sfWidgetFormI18nDate 小部件支持 "years" 属性,但 DateTime 不支持。

这是我的代码:

$this->widgetSchema['created_at'] = new sfWidgetFormI18nDateTime(array('culture' => 'hu'));
$this->validatorSchema['created_at'] = new sfValidatorDateTime(array('required' => false));

我需要这样的东西:

$this->widgetSchema['created_at'] = new sfWidgetFormI18nDateTime(array('culture' => 'hu', 'years' => metWidgetTools::getYears()));
$this->validatorSchema['created_at'] = new sfValidatorDateTime(array('required' => false, 'years' => metWidgetTools::getYears()));

有什么办法可以解决这个问题吗?

您的小部件架构应如下所示

$years = range(2000, date('Y')); // from to 2000 to current year
$this->widgetSchema['created_at'] = new sfWidgetFormI18nDateTime(array(
    'culture' => 'hu',
    'date' => array(
        'years' => array_combine($years, $years)
    )
));