因为我想覆盖 Symfony2 中 FOS UserBundle 的模板,所以我正在尝试调整我的自定义 UserBundle。
我制作了模板(并遵循与 FOS 捆绑包完全相同的结构),并为每个控制器制作了一个“空”扩展。
但是,一旦我激活覆盖,清除缓存并尝试登录,就会出现错误,我不明白为什么。错误内容如下:
在“FOSUserBundle:Security:login.html.twig”中呈现模板(“路由“登录”不存在。”)期间引发了异常。
这是我自己的 SecurityController 例如:
<?php
namespace R\Bundle\UserBundle\Controller;
use Symfony\Component\HttpFoundation\RedirectResponse;
use FOS\UserBundle\Controller\SecurityController as BaseController;
class SecurityController extends BaseController
{ }
通过激活覆盖(在清除缓存之前),我的意思是取消注释这一行:
<?php
namespace R\Bundle\UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class RUserBundle extends Bundle
{
public function getParent()
{
return 'FOSUserBundle'; <-- this line activates or deactivates the override
}
}
我自己的 UserBundle 中的 login.html.twig 模板应该覆盖 FOS UserBundle 中的模板,它仍然是原始模板的精确副本(如果覆盖未激活,则该模板可以正常工作)。
我假设我也需要以某种方式覆盖路由文件,但是如果我将它们复制到我的自定义 UserBundle 中,错误仍然存在。