我正在研究jobeet教程。 当我在localhost上运行这样的项目时:
http://localhost/Symfony/web/app_dev.php/ens_job/
我收到错误
A template that extends another one cannot have a body in EnslJobeetBundle:Job:index.html.twig at line 7.
在这种情况下我该怎么做?
我使用index.html.twig如下:
<!-- src/Ens/JobeetBundle/Resources/views/Job/index.html.twig -->
{% extends 'EnsJobeetBundle::layout.html.twig' %}
{% block stylesheets %}
{{ parent() }}
<link rel="stylesheet" href="{{ asset('bundles/ensjobeet/css/jobs.css') }}" type="text/css" media="all" />
{% endblock %}
<!-- the rest of the code -->
答案 0 :(得分:42)
如果您在子模板中有blocks
的内容,则会发生此错误。
您必须从<!-- src/Ensl/JobeetBundle/Resources/views/Job/index.html.twig -->
index.html.twig
答案 1 :(得分:12)
如果要扩展布局,Twig不允许任何html语法。这意味着即使html中的注释标记也被视为定义块之外的内容。如果你想保留评论,那么你可以在这样的树枝评论中做到这一点:
{# src/Ens/JobeetBundle/Resources/views/Job/index.html.twig #}
{% extends 'EnsJobeetBundle::layout.html.twig' %}
{% block stylesheets %}
{{ parent() }}
<link rel="stylesheet" href="{{ asset('bundles/ensjobeet/css/jobs.css') }}" type="text/css" media="all" />
{% endblock %}
{# the rest of the code #}