2016-12-04 55 views
4

我创建了一个新的捆绑包,其中应包含树枝文件。默认情况下,已经有一个由生成包命令行添加的树枝文件(位于src/TestBundle/Resources/views/test.html.twig)。也有渲染命令的indexAction自动添加:Symfony不会在捆绑中搜索树枝文件

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

但是,当我打电话的indexAction,我得到一个模板未找到错误,错误说,这symfony的只有看着

/app/Resources/views, 
/vendor/symfony/symfony/src/Symfony/Bridge/Twig/Resources/views/Form 

但不是在/src/TestBundle/...

symfony为什么要忽略束资源?我怎么能改变它?

+0

很奇怪。 testbundle是否在appkernel类中注册? – Matteo

+0

是的,我已经在那个包中使用了服务等,但没有树枝 – Asara

回答

0

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

当模板住在

TestBundle /资源/视图/

做这个

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

当模板住在子文件夹一样

TestBundle/Resources/vie WS /文件夹/

使用此

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

You can read the doc here.

+0

所以你的意思是::而不是:?它也不工作,它有同样的错误,但它仍然没有查看捆绑资源 – Asara

4

我有同样的问题与Symfony的3.3,最终,经过反复试验,发现你必须使用@后跟捆绑软件名称,但省略名称空间中的“Bundle”一词。所以......

@MyFabulousUserBundle/Email/reset_password.html.twig 

...没有工作,但:

@MyFabulousUser/Email/reset_password.html.twig 

做到了!