Post

Symfony – Les liens dans Twig

Symfony – Les liens dans Twig

Cours 8 — Les liens dans Twig

Introduction

Twig permet de créer des liens vers les routes Symfony.

Cela évite d’écrire directement les URL dans les pages.

Si une URL change, il suffit de modifier la route.


Principe général

Route :

1
#[Route('/accueil', name: 'app_accueil')]

Vue Twig :

1
<a href="{{ path('app_accueil') }}">Accueil</a>

Résultat :

1
<a href="/accueil">Accueil</a>

Créer un lien simple

Route :

1
#[Route('/contact', name: 'app_contact')]

Vue Twig :

1
<a href="{{ path('app_contact') }}">Contact</a>

Créer un lien avec un paramètre

Route :

1
#[Route('/patient/{id}', name: 'patient_show')]

Vue Twig :

1
2
3
<a href="{{ path('patient_show', {'id': 12}) }}">
    Voir le patient
</a>

Résultat :

1
/patient/12

Utiliser une variable comme paramètre

1
2
3
<a href="{{ path('patient_show', {'id': patient.id}) }}">
    Voir le patient
</a>

Créer plusieurs liens dans une boucle

1
2
3
4
5
6
7
{% for patient in patients %}

    <a href="{{ path('patient_show', {'id': patient.id}) }}">
        {{ patient.nom }}
    </a>

{% endfor %}

Conclusion

Pour créer un lien dans Twig :

  • utiliser la fonction path() ;
  • fournir le nom de la route ;
  • transmettre les paramètres si nécessaire ;
  • éviter d’écrire directement les URL.

Exemple :

1
<a href="{{ path('app_accueil') }}">Accueil</a>
This post is licensed under CC BY 4.0 by the author.