FOSUserBundle覆盖模板

时间:2015-07-30 14:27:38

标签: php twig fosuserbundle

我对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 }

1 个答案:

答案 0 :(得分:1)

您应该使用正确的命名空间; EMAGUserBundle不在您的路由文件和homeAction中的UserBundle,以使您的代码井井有条,

然后你必须改变:

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

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