0

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

  1. 在Docs中放置模板文件app/Resources/
  2. 覆盖子 Bundle Docs中的控制器

然而,使用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 配置中,没有针对此的指令。如何做到这一点?

4

2 回答 2

2

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

希望能帮助到你。

于 2017-12-28T15:52:26.813 回答
-1

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

检查此文件,第 106 和 109 行 :)

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

于 2017-10-30T10:59:39.810 回答