Symfony Flex:覆盖FOSUser登录表单

时间:2017-09-25 10:17:23

标签: php symfony symfony-flex

我读了两种覆盖FOSUser登录表单的方法:

  1. 将模板文件放在app/Resources/ Docs
  2. 覆盖子捆绑Docs
  3. 中的Controller

    但是,Symfony Flex项目结构发生了重大变化。

    对于选项#1:不再有app/Resources文件夹。我将模板存储在/templates

    关于选项#2:不再有AppBundle。

    现在,我扩展了FOSUser的安全控制器:

    <?php
    
    namespace App\Controller;
    
    use FOS\UserBundle\Controller\SecurityController as BaseController;
    
    class SecurityController extends BaseController
    {
        public function renderLogin(array $data)
        {
            return $this->render('/Admin/Login/index.html', $data);
        }
    }
    

    应用程序仍然呈现FOSUserBundle表单。我有一种感觉,我必须以某种方式注册avobe控制器。在FOSUser配置中,没有指令。如何实现这一目标?

2 个答案:

答案 0 :(得分:2)

在Symfony 4中,您只需将文件放在/ templates / bundles / FosUserBundle

希望它有所帮助。

答案 1 :(得分:-1)

我认为你遵循了良好的道路,但忘了改变你的配置。您需要告诉fosuser使用不同的表单文件。

检查this file,106行&amp; 109 :)

我没有用flex检查这个解决方案,但我的一个朋友用symfony 4做了它并且工作得很好。