30

我正在做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 -->
4

2 回答 2

43

blocks当您在子模板中有内容时会发生此错误。

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

于 2012-07-31T12:11:43.873 回答
14

如果您要扩展布局,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 #}
于 2014-03-07T06:47:42.543 回答