Symfony不会在bundle中搜索twig文件

Asa*_*ara 5 php symfony twig

我创建了一个新的包,其中应包含twig文件.默认情况下,generate bundle命令行(in src/TestBundle/Resources/views/test.html.twig)已添加了一个twig文件.在IndexAction中还自动添加了render-command:

return $this->render('TestBundle:test.html.twig', $data);

但是当我调用IndexAction时,我得到一个模板未找到错误,并且错误说,symfony只查看

/app/Resources/views, 
/vendor/symfony/symfony/src/Symfony/Bridge/Twig/Resources/views/Form
Run Code Online (Sandbox Code Playgroud)

但不是 /src/TestBundle/...

为什么symfony会忽略bundle资源?我怎么能改变呢?

Rus*_*uss 6

我在Symfony 3.3中遇到了同样的问题,最终通过反复试验发现你必须使用@后跟包名,但是在命名空间中省略了"Bundle"这个词.所以...

@MyFabulousUserBundle/Email/reset_password.html.twig
Run Code Online (Sandbox Code Playgroud)

......没有用,但是:

@MyFabulousUser/Email/reset_password.html.twig
Run Code Online (Sandbox Code Playgroud)

没有!


Tom*_*oms 0

您不得删除子文件夹分隔符。

当模板位于

测试包/资源/视图/

做这个

return $this->render('TestBundle::test.html.twig', $data);
Run Code Online (Sandbox Code Playgroud)

当模板位于子文件夹中时,例如

TestBundle/资源/视图/文件夹/

用这个

return $this->render('TestBundle:Folder:test.html.twig', $data);
Run Code Online (Sandbox Code Playgroud)

您可以在此处阅读该文档。