2016-02-16 108 views
2

我想有一個過濾器的幾個日期,例如一整個月的整整一週。我嘗試了幾種方法來做到這一點,但沒有人成功。我不太習慣這個包,我也沒有找到正確選擇我的日期的方法。LexikFormFilterBundle選擇多個日期

$builder->add('receptionCommande', DateFilterType::class, array(
     'widget' => 'text', 
     'required' => false, 
     'format' => 'dd/MM/yyyy', 
     'input'  => 'string', 
     'attr'  => array('day' => '%'), 
     'days'  => array('data' => '%') 
    )); 

我在這裏試圖在這裏放置一個小丑值。

$builder->add('receptionCommande', TextFilterType::class, array(
     'data_class'  => 'year' 
    )); 

在這裏,我想只選擇日期的一年,但這並沒有成功。我爲此苦苦掙扎了好幾個小時。有誰知道如何去做,甚至有暗示來指導我?

回答

1

我建議你使用filter_ date_range類型來幫助你選擇一個日期間隔。

作爲例子:

$builder->add('receptionCommande', DateRangeFilterType::class, array(
    'left_date_options' => array(
     'attr' => array('class' => 'datepicker'), 
     'widget' => 'single_text', 
     ), 
    'right_date_options' => array(
     'attr' => array('class' => 'datepicker'), 
     'widget' => 'single_text', 
     ), 
    'label' => 'A Range of date', 
    )); 

希望這有助於

+0

這個效果很好,謝謝。我已經嘗試過沒有'class'=>'datepicker',但我的年限有限。現在我必須找到一種方法使IE8能夠正常工作(我的一些用戶仍然在Windows XP上,而IE是另一種工具所必需的)。我只需要一些東西,比如Chrome上的本地日期。我嘗試過''數據格式':'dd/MM/yyyy',但沒有成功。 – Tartare2240

+0

Hi @ Tartare2240歡迎您!如果我的答案已解決您的問題,請點擊複選標記考慮[接受](http://meta.stackexchange.com/q/5234/179419)。這向更廣泛的社區表明,您已經找到了解決方案,併爲答覆者和您自己提供了一些聲譽。沒有義務這樣做。考慮也贊同我的答案。 – Matteo