如何改变sfWidgetFormFilterDate的年份范围?

时间:2013-05-16 08:43:19

标签: filter widget symfony-1.4

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

2 个答案:

答案 0 :(得分: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%'));

所以日期会动态变化。

答案 1 :(得分: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 here