0

在我的过滤器字段expiration_date中,我想更改选择框的年份范围(从 2013 年开始,而不是从 2008 年开始)。我怎样才能做到这一点 ?

4

2 回答 2

1

最后,我这样做:

 $years = range(date('Y') - 1, date('Y') + 6);

  $this->widgetSchema['expiration_date'] = new
  sfWidgetFormFilterDate(array(
              'from_date'     => new sfWidgetFormDate(array('format' => '%day%-%month%-%year%','years' => array_combine($years, $years))), 
              'to_date'       => new sfWidgetFormDate(array('format' => '%day%-%month%-%year%','years' => array_combine($years, $years))), 
              'with_empty'    => false, 
              'template'      =>'du %from_date% to %to_date%'));

所以日期会动态变化。

于 2013-05-16T10:06:35.677 回答
0

将年份作为选项发送到日期部件(from_date 和/或 to_date)。像这样的东西(未经测试):

$this->widgetSchema['date'] = new sfWidgetFormFilterDate(
                  array(
                     'from_date'=>new sfWidgetFormDate(array('years' => array('2013' => '2013', '2014' => '2014)),
                     'to_date'    =>new sfWidgetFormDate(array('years' => array('2013' => '2013', '2014' => '2014)),
                     )
               );

在此处查看有关 sfWidgetFormDate的更多信息。

于 2013-05-16T09:19:37.980 回答