我读了两种覆盖FOSUser登录表单的方法:
app/Resources/
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配置中,没有指令。如何实现这一目标?
答案 0 :(得分:2)
在Symfony 4中,您只需将文件放在/ templates / bundles / FosUserBundle
中希望它有所帮助。
答案 1 :(得分:-1)
我认为你遵循了良好的道路,但忘了改变你的配置。您需要告诉fosuser使用不同的表单文件。
检查this file,106行&amp; 109 :)
我没有用flex检查这个解决方案,但我的一个朋友用symfony 4做了它并且工作得很好。