L3 Info : PHP et Applications Web
 
◃  Ch. 13 Symfony 7.4  ▹
 

Twig : fragments, blocs et héritage

  • Création de fragments de template réutilisables

    {# templates/Hello/_titrePrincipal.html.twig #}
    <h1>Hello {{ title }} {{ lastName }}</h1>
  • Insertion de fragments

    {# templates/blog/index.html.twig #}
    {# ... #}
    {{ include('Hello/_titrePrincipal.html.twig') }}
  • Template et héritage https://twig.symfony.com/doc/3.x/tags/extends.html

    • On peut définir des blocs dans un template parent et le spécifier dans un template enfant.
  • Exemple de template de base :

    {# templates/Hello/base.html.twig #}
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8" />
    <title>Hello {{ title }}</title>
    </head>
    <body>
    {% block content %}
    {% endblock %}
    </body>
    </html>
  • Exemple de template enfant :

    
    {# templates/Hello/index.html.twig #}
    {% extends "Hello/base.html.twig" %}
    {% block content %}
    <h1>Hello {{title}} {{lastName}}</h1>
    {% endblock %}