Un parchemin qui a de l'allure

Exercice 2 sur 6 du chapitre 10 · 270 XP · 5 objectifs vérifiés par des tests

Notions abordées : TemplatedEmailTemplate Twig d'e-mailurl() et path()Service d'envoi

Le parchemin de confirmation part bien, mais Bruna le trouve triste : trois lignes de texte, pas le moindre dragon. Elle veut un vrai parchemin, mis en page, avec un lien pour découvrir la carte.

Pipin en profite pour ranger : l'envoi quitte le contrôleur pour un service, le parcheminier. Demain, d'autres parchemins partiront d'ailleurs que du formulaire, et ils seront tous rédigés au même endroit.

TemplatedEmail

Un TemplatedEmail est un Email dont le contenu HTML vient d'un template Twig, avec un contexte, comme pour une page. Symfony le rend au moment de l'envoi et en tire aussi une version texte, pour les messageries qui n'affichent pas le HTML.

Une différence avec une page : l'e-mail est lu dans une boîte aux lettres, loin du site. Un lien relatif (/menu) n'y mène nulle part.

Votre mission

  1. Écrivez Parcheminier::envoyerLaConfirmation() : un parchemin HTML, rendu depuis templates/emails/confirmation.html.twig, à l'adresse de la réservation, avec le même sujet. Pas de parchemin pour une réservation sans adresse.
  2. Complétez le template : le titre « Votre table vous attend », le nom, le nombre d'aventuriers, la date, et un lien « Découvrir la carte » qui fonctionne depuis une boîte aux lettres.
  3. Le formulaire de réservation passe désormais par le parcheminier.

Pour admirer le résultat : réservez une table, puis ouvrez la 📬 boîte aux lettres.