FOSUserBundle向事件订阅者中的注册表单添加字段

时间:2016-08-04 09:40:57

标签: php forms symfony fosuserbundle

我正在尝试使用FOSUserBundle动态地将字段添加到注册表单。

我试过了:

public static function getSubscribedEvents()
{
    return array(
      FOSUserEvents::REGISTRATION_INITIALIZE => 'preSetData',
    );
}

public function preSetData(GetResponseUserEvent $event)
{
    $user = $event->getUser();
    $form = $event->getForm();

    switch($user->getType()){
        case 'x':
            $form->add('y');
            break;

    }
}

但是在preSetData参数(GetResponseUserEvent)中收到的类不允许我修改表单,只允许我修改用户。有没有办法修改这样的注册表?

这可以通过多个用户表单完成,在自定义registerAction中使用逻辑扩展基本表单,因为它看起来更优雅的解决方案吗?如果是这样,我怎么能实现呢?

0 个答案:

没有答案