Symfony 2中的树枝模板的路径

时间:2014-12-05 10:23:48

标签: php symfony twig

我正在开发一个Symfony2项目,目前正在尝试为我的控制器渲染一个视图,但是我一直在看到这个错误消息:

Unable to find template

所以据我所知,渲染函数的路径部分存在问题。我试着解决这个问题,但无论我如何改变我的道路,我总是得到这个信息。

test.html.twig文件的完整路径:

src/Test/NewsInfrastructure/Sitemap/test.html.twig

这就是我实现这条道路的方式:

return $this->templating->renderResponse('src:Test:NewsInfrastructure:Sitemap:test.html.twig', array('sitemap' => $this->siteMap->getSiteMap()));

我做错了什么......?

1 个答案:

答案 0 :(得分:1)

TwigBundle(TwigExtension)通过Bundle的文件夹(参考资料/视图)或upper levels搜索模板;

我认为通过命名空间调用模板来呈现模板的最简单方法是:

$this->render('@Vendor/Product/view.html.twig'); // src/Vendor/MyBundle/Resources/views/Product/view.html.twig

@Vendor - 没有Bundle后缀,它的工作速度也快一点..

或者

如果你真的想要加载位于Resources文件夹之外的模板,这可以帮到你:

$loader = new \Twig_Loader_Filesystem(PATH_TO_DIRECTORY);
$twig = new \Twig_Environment($loader, array('cache' => false));    
$twig_code = $twig->render('myFile.html.twig', []);

return new Response($twig_code);