php - Symfony 2 FOSUserBundle : Override form without defining service

标签 php forms symfony fosuserbundle

我正在尝试为我的新应用程序设置 FOSUserBundle,因此我想覆盖默认的 FOSUser 表单。如 FOSUser 文档中所述,在适当设置 app/config.yml 之前,我必须将新表单定义为服务。我的问题是为什么我不能像这样设置 config.yml:

fos_user:
db_driver: orm
firewall_name: admin_area
user_class: abc\abcBundle\Entity\User
registration:
    form:
        type: abc\abcBundle\Form\Type\UserType 

在我上一个应用程序中,我使用了 FOSUserBundle 和 PUGXMUltiUserBundle,然后我的 PUGXM(完美工作)配置是:

users:
    agents:
        entity: 
            class: abc\NikBundle\Entity\agents
        registration:
            form: 
                type: abc\NikBundle\Form\Type\UserType
                name: agent_user_registration_form
            template: abcNikBundle:ManageUsers:newUser.html.twig

所以我想这也可以用 FOSUserBundle 来完成。这是不可能的吗?如果是,为什么?

最佳答案

FOSUserBundle 允许您按照下面文档中的描述覆盖它的 Controller

https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/overriding_controllers.md

该文档实际上向您展示了如何覆盖注册 Controller ,并从那里简单地注入(inject)您的自定义表单以进行验证,就像在任何普通 Controller 中一样。

您还可以通过在“{ROOT_DIR}/vendor/friendsofsymfony/user-bundle/Resources/views”下找到原始 FOSUserBundle 模板并将它们复制到“{ROOT_DIR}/app/Resources/FOSUserBundle/views”来覆盖模板.

https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/overriding_templates.md

应该是这样的

Resources
└── FOSUserBundle
    └── views
        ├── ChangePassword
        │   ├── changePassword.html.twig
        │   └── changePassword_content.html.twig
        ├── Registration
        │   ├── confirmed.html.twig
        │   ├── register.html.twig
        │   └── register_fail.html.twig
        ├── Resetting
        │   ├── checkEmail.html.twig
        │   ├── email.txt.twig
        │   ├── passwordAlreadyRequested.html.twig
        │   ├── request.html.twig
        │   ├── request_content.html.twig
        │   ├── reset.html.twig
        │   └── reset_content.html.twig
        ├── Security
        │   └── login.html.twig
        └── layout.html.twig

关于php - Symfony 2 FOSUserBundle : Override form without defining service,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28112644/

相关文章:

php - Magento SSL 链接

javascript - Bootstrap 下 zipper 接不起作用

php - php查询未运行?

symfony - 模板渲染过程中抛出异常

php - Symfony Doctrine findBy 然后映射

javascript - 将 iframe 的 id 存储在 JavaScript 变量中

css - 强大的 WordPress 形式增加了三倍

html - 选择标签不显示在我的表单上

php - 使用 doctrine 2 进行批处理 INSERT IGNORE 的最有效方法

jquery - 使用 Jquery 提交表单,按钮可以工作,但按 'enter' 时不起作用