Значения формы по умолчанию определены прямо в * Тип класса - PullRequest
0 голосов
/ 07 февраля 2012

У меня есть такой класс определения формы:

class HistorySliderType extends AbstractType
{

    /**
     * {@inheritdoc}
     */
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
            ->add('date', 'datetime', array(
            'date_widget' => 'single_text',
            'time_widget' => 'single_text',
            'date_format' => 'yyyy-MM-dd',
            'with_seconds' => true
        ));
    }

    public function getDefaultOptions(array $options)
    {
        return array(
            'data' => array('date' => new \DateTime())
        );
    }

    /**
     * {@inheritdoc}
     */
    function getName()
    {
        return 'acme_tbundle_historyslidertype';
    }
}

, и я ожидал, что поле date будет now по умолчанию, в то время как поля остаются пустыми при визуализации формы.

Я что-то упустил или getDefaultOptions не должен использоваться для указания начальных (по умолчанию) значений формы?

UPD :

После некоторых исследований я пришелк мыслям, что это баг, поэтому заполнил его: https://github.com/symfony/symfony/issues/3288

1 Ответ

1 голос
/ 07 февраля 2012

Используйте параметр data при добавлении поля:

$builder->add('token', 'hidden', array(
    'data' => 'abcdef',
));
...