【发布时间】:2019-05-05 23:06:18
【问题描述】:
我做了一个从 2.7 版到 3.4 版的 symfony 迁移
除了一件事,每一件事都很好。树枝文件不起作用,错误消息是:
找不到模板“::layout.html.twig”(查看:vendor\symfony\symfony\src\Symfony\Bridge\Twig/Resources/views/Form, vendor\knplabs\knp-menu\src\第 3 行 abcdBundle::layout.html.twig 中的 Knp\Menu/Resources/views)。
树枝代码是:
{% extends "::layout.html.twig" %}
我想加载本地化为app/Resources/views/layout.thml.twig 的布局。
我也试过这个代码:{% extends "layout.html.twig" %} 没有:: 同样的麻烦。
位置文件:
app/
Resources/
views/
layout.html.twig // it don't find this twig
src/
ab/
cdBundle/
Ressources/
views/
layout.html.twig // error into this file
【问题讨论】:
-
默认情况下不再支持基于冒号的模板路径。 stackoverflow.com/questions/47832977/…
-
@Cerad 好的,但是如何解决我的问题?我已经看过这个帖子了。但我不明白如何让我的树枝再次工作。
-
使用 twig 命名空间(首选解决方案)或将 twig 引擎添加到您的模板配置中,如公认的冗长答案的最后所示。我假设这一切都在您的 2.7 应用程序下工作,并且没有拼写错误等。
-
@Cerad 我已经添加了模板配置。迁移前一切正常。我试过这个代码:
{% extends "@App/layout.html.twig "%}(带命名空间),我有这个错误There are no registered paths for namespace" App "。 -
对于 3.4,我期望 @AppBundle/layout.html.twig。 “bin/console debug:twig”将显示可用的命名空间。但只是简单的 layout.html.twig 真的应该工作。虽然我怀疑这只是一个问题错字,但 Ressources 拼写错误。我知道这可能会让人很困惑,因为 3.4 支持几种不同的目录结构。
标签: php symfony twig migration symfony-3.4