我有两种不同的Symfony2形式:一种用于注册普通用户,字段仅属于用户类型,另一种用于登记公司,另一个用于注册公司,字段仅属公司类型(两者都有不同的字段),因此它们依赖于FOSUserBundle用户类,这意味着它们从FOSUser扩展。我应该增加用户(在站点中导航的普通用户)注册为
User
作为一个
Company
为此,我做了一个简单的SELECT元素,其中包含两个选项。
我需要“动态”更改FOS用户注册的表单类型,但找不到好的方法,这就是我寻求帮助的原因。
这是我心中的想法,也许是一些疯狂的想法,也可能是最糟糕的,但这是我所能找到的唯一知识。
-
在以下位置“动态”更改注册类
config.yml
(强硬不是个好主意,因为我需要重新加载页面才能使更改生效或不生效)
services:
user.registration.form.type:
class: UserBundle\Form\Type\RegistrationFormType
arguments: [%fos_user.model.user.class%]
tags:
- { name: form.type, alias: user_form }
fos_user:
registration:
form:
type: user_form
-
根据解释的用户数据生成表单
here
在文档中,但这应该建立在两个步骤的基础上,对吗?一个用于选择表单类型,另一个用于显示/显示表单?如何使用FOSUserBundle完成此操作?
现在我只是打电话给
RegistrationFormType
其中有FOSUser的共同领域,但通常我需要添加新的形式,任何想法或方法?