我对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 }
答案 0 :(得分:1)
您应该使用正确的命名空间; EMAGUserBundle不在您的路由文件和homeAction中的UserBundle,以使您的代码井井有条,
然后你必须改变:
return $this->render('EmagUserBundle\layout.html.twig');
到
return $this->render('EmagUserBundle:layout.html.twig');