L3 Info : PHP et Applications Web
 
◃  Ch. 11 Some old Stuff (chapitre non maintenu)  ▹
 

À propos de twig

  • Récapitulatif 
    • {# commentaires ici #}
    • {{ variable ici }}
    • {% structure de contrôle ici %}
  • Template et héritage
    • le tag {% extends %} permet d'hériter d'un template de base
    • les tags {% block bloc_name %} et {% endblock %} définissent un bloc surchargeable
    • Au sein d'un bloc {{ parent() }} permet de récupérer le contenu du bloc issu du template parent
    • Fichier baseHello.html.twig :
      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="UTF-8" />
          <title>{% block title %}Welcome!{% endblock %}</title>
          {% block stylesheets %}{% endblock %}
          <link rel="icon" type="image/x-icon" href="{{ asset('logoULH.ico') }}" />
      </head>
      <body>
      <h1>{% block h1 %}{% endblock %}</h1>
      {% block article %}
      <p>Ce texte est hérité du template parent !</p>
      {% endblock %}
      
      {% block javascripts %}{% endblock %}
      </body>
      </html>
      
    • Fichier title.html.twig :
      {# app/Resources/views/HelloWorld/title.html.twig #}
      {%  extends 'HelloWorld/baseHello.html.twig' %}
      
      {% block title %}Hello {{ title }} {{ lastName }} ! {%  endblock %}
      {% block h1 %}Hello {{ title }} {{ lastName }} ! {%  endblock %}
      {% block article %}
          {{ parent()  }}
          <p>Et j'y ajoute un complément...</p>
      {% endblock %}