Symfony FOSUserBundle 覆盖模板不起作用

Symfony FOSUserBundle Override Templates Not Working

我对 Symfony FOSUserBundle 覆盖模板有疑问。

我试过了

Create A Child Bundle And Override Template

this 文档中的方式。

我可以用这种方式覆盖控制器,但仍然无法覆盖模板。我发现了一个关于它的 github demo,我们只有 1 个不同。

但我的项目是 FOSUserBundle Controllers 返回像 ;

return $this->render('@FOSUser/Security/login.html.twig', $data);

在他的项目 FOSUserBundle Controllers 中返回像 ;

return $this->render('FOSUserBundle:Security:login.html.twig', $data);

我想问:

-如果我手动更改它,然后如果这个包有更新,它会把它改回来吗..

-为我的项目安装 FOSUserBundle 时,我希望它像在他的项目中一样。我怎样才能实现它?

您不能更改供应商的控制器。如果您想更改 FOSUserBundle 控制器中的任何代码,您也必须覆盖它。哪个包覆盖了 FOSUserBundle,您可以在该包中创建自己的控制器。之后,您可以将其用于您自己的策略。

样本包:https://github.com/mertoksuz/symfony2-rest/tree/master/src/RestApi/UsersBundle

检查这个 UsersBundle。

谢谢。