【发布时间】:2016-01-19 14:25:10
【问题描述】:
我尝试将我的 symfony2 项目升级到 symfony3(我已经从 twig 1.2 移动到 twig 2.0,并升级了一些其他的包,如 fos_user 包、braincrafted/bootstrap 包...),我遇到了一个错误:
Fatal Error: Call to a member function loadTemplate() on a non-object
详细日志是:
DEBUG - Notified event "kernel.controller" to listener "Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelController".
CRITICAL - Fatal Error: Call to a member function loadTemplate() on a non-object
CRITICAL - Uncaught PHP Exception Symfony\Component\Debug\Exception\FatalErrorException: "Error: Call to a member function loadTemplate() on a non-object" at /my/path/Symfony/vendor/symfony/symfony/src/Symfony/Bridge/Twig/Form/TwigRendererEngine.php line 156
第一个包含表单块的模板的错误触发器。如果我删除表单块(例如 {{form_start}} 或 {{form_widget(...)}}),则会出现另一个带有表单元素的模板的错误。
有没有人想办法帮我?
提前致谢。
【问题讨论】:
-
您使用任何表单主题吗?您是否尝试禁用它们?如果你
{{ dump(form) }},你看到格式正确的表格了吗? -
“表单主题”是什么意思?我使用了braincrafted/bootstrap 捆绑包,但很明显,当它被禁用时我会遇到同样的错误如果我{{dump(form)}},我会在屏幕上看到转储详细信息,但下面仍然有同样的错误......
-
嗯,表单主题是用于自定义表单呈现的树枝模板。它可以直接在 twig 文件中定义,或者如果您将其应用于所有表单,则可以在配置中定义。 Braincrafted bootstrap bundle 使用了一个,您是否尝试将其从您的 config.yml 中删除?它看起来像:
twig: form: resources: - BraincraftedBootstrapBundle:Form:bootstrap.html.twig -
是的,我已经尝试禁用它,但不幸的是没有任何改变......
-
对不起,没有更多的想法......