树枝包含路径服务器上的多个文件夹不同

时间:2019-01-03 14:03:38

标签: symfony twig

我正在处理一个旧项目,当我使用此路径渲染Twig时:

'MyBundle:Default:_partials:internalSubStatus.html.twig'

这在我的本地计算机(Mac)上工作正常,但在服务器上给出了错误

  

”无法找到模板   “ MyBundle:Default:_partials:internalSubStatus.html.twig”(调查:   / var / www / mylocalpathhere / htdocs / app / Resources / views,   / var / www / mylocalpathhere / htdocs / vendor / symfony / symfony / src / Symfony / Bridge / Twig / Resources / views / Form)。“

在以下情况下可以通过用斜杠替换1个冒号来工作。为什么是这样?怎么走?

MyBundle:Default:_partials/internalSubStatus.html.twig

MyBundle:Default/_partials:internalSubStatus.html.twig

1 个答案:

答案 0 :(得分:1)

使用MyBundle:Default:_partials:internalSubStatus.html.twig是旧语法,不再建议使用。 /之所以有效,是因为解析器现在将查找子目录。这很令人困惑,an issue于2014年针对您的问题被创建。

可行的方法是使用新的语法,您也可以在documentary for symfony 3.4中找到该语法,我引用:

  

如果您需要引用捆绑软件中的模板,请使用Symfony   使用Twig命名空间语法   (@ BundleName / directory / filename.html.twig)。这允许几个   类型的模板,每个模板都位于特定的位置

在您的情况下,我想像的是@MyBundle/Default/_partials/internalSubStatus.html.twig