Je travaille sur le tutoriel jobeet. Lorsque j'exécute le projet sur localhost comme ceci:
http://localhost/Symfony/web/app_dev.php/ens_job/
Je reçois une erreur
A template that extends another one cannot have a body in EnslJobeetBundle:Job:index.html.twig at line 7.
Que dois-je faire dans ce cas?
J'utilise le fichier index.html.twig comme suit:
<!-- 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 -->
Cette erreur se produit lorsque le contenu de blocks
se trouve dans le modèle enfant.
Vous devez supprimer <!-- src/Ensl/JobeetBundle/Resources/views/Job/index.html.twig -->
de ton index.html.twig
Twig n'autorise aucune syntaxe html si vous étendez la mise en page. Cela signifie que même les balises de commentaire en html sont traitées comme du contenu en dehors des blocs définis. Si vous souhaitez conserver les commentaires, vous pouvez simplement le faire dans twig commentaires comme ceci:
{# 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 #}