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');
我是 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');