【发布时间】:2012-10-18 10:16:09
【问题描述】:
我尝试加载一个简单的 base.html.twig 模板文件,该模板文件已从 symfony 的默认位置 app/Resources/views/ 移动到自定义位置 theme/。
模板文件包含:
<!DOCTYPE html>
<html>
<head>
...
</head>
<body>
{% block body %}{% endblock %}
</body>
</html>
控制器Acme\Core\CoreBundle\Controller使用控制器特定模板扩展上述模板文件
{% extends '::base.html.twig' %}
{% block body %}
Hello world!
{% endblock %}
导致错误提示 Unable to find template "::base.html.twig" in "AcmeCoreCoreBundle:Default:index.html.twig".。
如何告诉 symfony 在全局空间中哪里可以找到模板文件?
提前致谢。
【问题讨论】:
-
可以使用
\Twig_Loader_Filesystem::addPath($path, $namespace = '__main__')(参见Source),但不确定从哪里调用它。还查看了 TwigBundle 配置,但看起来那里没有选项。如果有人在这方面进一步扩展,它可能会有所帮助。