得到错误,扩展的模板不能有身体

Roh*_*hal 29 symfony twig

我正在研究jobeet教程.当我在localhost上运行这样的项目时:

http://localhost/Symfony/web/app_dev.php/ens_job/
Run Code Online (Sandbox Code Playgroud)

我收到了一个错误

A template that extends another one cannot have a body in EnslJobeetBundle:Job:index.html.twig at line 7.
Run Code Online (Sandbox Code Playgroud)

在这种情况下我该怎么办?

我使用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 -->
Run Code Online (Sandbox Code Playgroud)

Vit*_*ian 42

当您的blocks子模板中包含内容时,会发生此错误.

你必须<!-- src/Ensl/JobeetBundle/Resources/views/Job/index.html.twig -->从你的index.html.twig

  • 或者更确切地说,任何非Twig代码的内容都必须在Twig上下文中,例如块.(stackoverflow不允许编辑我以前的评论) (3认同)

小智 13

如果要扩展布局,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 #}
Run Code Online (Sandbox Code Playgroud)