2015-04-14 3 views
0

Я использую sfWidgetFormI18nDateTime в форме, и мне нужно добавить к нему еще несколько лет (назад во времени). Например, 2007, 2006, 2005 и т. Д.sfWidgetFormI18nDateTime с большим количеством лет

Виджет 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())); 

Есть ли способ, что я могу обойти это?

ответ

0

Ваш виджет схема должна выглядеть примерно так

$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) 
    ) 
)); 
+0

Это произведения. Спасибо! – northway

+0

Добро пожаловать! – ilSavo

Смежные вопросы