我已经设置了UserBundle,一切正常。现在,我不想修改UserBundle视图和FormTypes,而是想覆盖它们。
对于观点,没问题,我只是按照Symfony2文档:http://symfony.com/doc/2.0/book/templating.html#overriding-bundle-templates
所以视图在app / Resources /.....
中但我不知道如何从我自己的Bundle中覆盖FormType。例如,我有一个用户实体,它扩展了FOSUserBundle用户实体并向其添加了许多字段,我想在视图中显示它们。
问题是默认的RegistrationFormType没有这些字段,将它们直接添加到此文件中将违反覆盖和扩展FOSUserBundle的逻辑。
PS:我正在使用Symfony2 RC3
答案 0 :(得分:2)
您可以在config.yml文件中为FOSUserBundle使用的表单,类和选项设置配置值。查看FOS\UserBundle\DependencyInjection\Configuration
以获取捆绑包允许您配置的所有值。
要回答您的具体问题,请参阅config.yml文件:
fos_user:
registration:
form:
type: Your\Form\Class\Here
答案 1 :(得分:0)
由于已经描述了用户“有问题”,您可以为注册表单配置另一个FormType。但这可能会导致您还必须覆盖FormHandler。现在有一个非常详细的描述作为捆绑包的文档 - 请参见此处:https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/overriding_forms.md