我刚刚从Symfony 2.7升级到2.8.18,当我访问一个以前在升级之前工作的表单的页面时,我现在收到以下错误。
Block" _appbundle_crmpicco_reserve_widget"在模板上 " :: base.html.twig"不存在。
reserve.html.twig
:
// this extends the top-level ::base.html.twig
{% extends "AppBundle:CRMPicco:base.html.twig" %}
{% block _appbundle_crmpicco_reserve_widget %}
{% spaceless %}
{# Call the parent setup #}
{{- parent() -}}
{# Display the widget now #}
{{ form_widget(form) }}
<span class='validation-box glyphicon'></span>
{% endspaceless %}
{%- endblock %}
作为我的composer update
- Removing twig/twig (v1.24.2)
- Installing twig/twig (v2.2.0)
Downloading: 100%
在最新版本中是否更改了模板继承?我无法在Symfony upgrade docs中找到任何内容。
答案 0 :(得分:3)
您的问题是父_appbundle_crmpicco_reserve_widget
模板中不存在阻止AppBundle:CRMPicco:base.html.twig
。在Twig 1.x中,以静默方式返回子模板中的parent()
。这在Twig 1.29中已弃用,并且自Twig 2.0以来抛出异常。