Symfony 3 dateType添加默认选项

时间:2017-04-16 19:02:51

标签: php symfony symfony-forms symfony-3.2

这就是我所拥有的:

  • 一个带有月份的选择字段
  • 一个带有年数的选择字段

但是在月份选择字段中,我想添加一个默认选项,如:

<option value="current">Current</option> 

我不知道如何添加默认选项,占位符是没有选项的。 这是我的代码,使用dateType

->add('startDate', DateType::class, [
    'label' => 'Start date',
    'label_attr' => array('class' => 'sr-only'),
    'placeholder' => [
        'year' => 'Year',
        'month' => 'Month',
    ],
    'years' => range(date('Y')-70, date('Y')),
])

谁可以帮我这个? 谢谢!

2 个答案:

答案 0 :(得分:0)

range用于生成数组,因此最简单的方法就是在数组的开头添加值。

类似的东西:

'years' => array_merge(['current'=>'current'], range(date('Y')-70, date('Y')))

答案 1 :(得分:0)

要设置默认值,请使用, array('data' => new \DateTime())

->add('startDate', DateType::class, [
    'label' => 'Start date',
    'label_attr' => array('class' => 'sr-only'),
    'placeholder' => [
       'year' => 'Year',
       'month' => 'Month',
       ],
    'years' => range(date('Y')-70, date('Y')),
    'data' => new \DateTime(),
])