【发布时间】:2014-08-14 18:47:42
【问题描述】:
我有两种 Symfony2 不同的表单:一种用于注册普通用户,其字段仅属于 User 类型,另一种用于注册公司,再次使用仅属于 Company 类型的字段(两者都有不同的字段),因此它们依赖在 FOSUserBundle 用户类上,这意味着它们从 FOSUser 扩展而来。我应该为用户(浏览网站的普通用户)添加注册为User 和Company 的功能,为此我制作了一个简单的 SELECT 元素,其中包含两种选择。
我需要“动态”更改 FOSUser 注册的表单类型,但找不到好的方法,这就是我寻求帮助的原因。
这就是我的想法,也许是一些疯狂的想法,也许是最糟糕的想法,但据我所知,这是我唯一能找到的。
-
在
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 的公共字段,但实际上我需要添加新的表单,有什么想法或方法吗?
【问题讨论】:
标签: php forms symfony fosuserbundle