FOSUserBundle 覆盖模板

FOSUserBundle override template

我是 symfony 的新手,我遇到了一个错误。 我已经一遍又一遍地搜索这个但我没有找到任何修复: 我安装了 FOSUserBundle,我想覆盖 layout.html.twig 模板作为我的网站主页。我创建了一个新包,使它成为 FOSUserBundle 的子项:

namespace Emag\UserBundle;  
use Symfony\Component\HttpKernel\Bundle\Bundle;  
class UserBundle extends Bundle {  
    public function getParent(){  
        return 'FOSUserBundle';
}  
}

我在 src/Emag/UserBundle/Resources/views/layout.html.twig 中创建了一个新文件和一个新控制器

class HomeController extends Controller {

public function homeAction()
{

    return $this->render('UserBundle\layout.html.twig');

}

}
但我收到此错误: 无法找到模板 "UserBundle\layout.html.twig"。
这也是我的 routing.yml 文件:

emag_magazine_homepage:
path:     /emag
defaults: { _controller: UserBundle:Home:home }

您应该使用正确的命名空间;在路由文件和 homeAction 中使用 EMAGUserBundle 而不是 UserBundle 来组织代码,

然后你必须改变:

return $this->render('EmagUserBundle\layout.html.twig');

return $this->render('EmagUserBundle:layout.html.twig');