Symfony2:在创建表单后添加表单选项

时间:2014-03-13 16:19:25

标签: php forms date symfony

我创建了一个表单类型,它指定了底层表单结构:

namespace ...;

use ...;
use ...;

class TimetableType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('id', 'choice', array(
                'expanded' => true,
                'multiple' => false
            ))
            ->add('schedule', 'submit');
    }

    public function getName()
    {
        return 'timetable';
    }
} 

当我在控制器上使用此类型时,我想根据用户选择的日期添加选项(多个实体开始结束时间)。我如何在symfony2中处理此问题,我无法在文档中找到任何相关内容。

如果没有Type类,我可以在我的控制器中这样做:

$form = $this->createFormBuilder(array())
        ->add('id', 'choice', array(
            'choices' => $radioValues,
            'expanded' => true,
            'multiple' => false
        ))
        ->add('schedule', 'submit')
        ->setAction($this->generateUrl('...'))
        ->getForm();

1 个答案:

答案 0 :(得分:0)

您需要使用表单事件。它可以在文档中找到:

http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html