0

フィルターのフィールドexpiration_dateで、選択ボックスの年の範囲 (2008 年ではなく 2013 年に開始) を変更したいと考えています。これどうやってするの ?

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 に答える