diff --git a/docs/assets/screen-form-path.mp4 b/docs/assets/screen-form-path.mp4 new file mode 100644 index 0000000..8924b2a Binary files /dev/null and b/docs/assets/screen-form-path.mp4 differ diff --git a/docs/build/controller-edu-post.md b/docs/build/controller-edu-post.md index 2ef6188..905ceab 100644 --- a/docs/build/controller-edu-post.md +++ b/docs/build/controller-edu-post.md @@ -126,6 +126,53 @@ Dans cet exemple, on récupère la ville du formulaire dans le controller avec l +### En cas de changement de route dans le formulaire + +Si vous avez changé la route dans le fichier de configuration des routes, il faut modifier l'action du formulaire dans le fichier twig. Dur dur si vous avez plusieurs routes à gérer. +Pour palier à ce problème, vous pouvez utiliser la fonction `{{ getNameToPath('NOM_ROUTE') }}` de twig pour générer l'url de la route. + +Dans l'exemple, la route s'appelle "ville" : + +``` hl_lines="5" +hello: + uri: /hello + controller: Controller\HelloController + httpMethod: [GET] +ville: + uri: /ville + controller: Controller\VilleController + httpMethod: [GET, POST] +``` + +Nous allons implémenter la fonction `getNameToPath('NOM_ROUTE')` dans le fichier "ville.html.twig" et plus précisément dans le formulaire : + +```diff +{% extends "base.html.twig" %} + +{% block title %}{{ titre }}{% endblock %} + +{% block content %} +

{{ titre }}

+ {% if add_ville is not null %} + + {% endif %} + +

Créer une nouvelle ville

+--
+++ + + + +
+{% endblock %}s +``` + + + !!! info "Pour aller plus loin" Pour aller plus loin, vous pouvez lire la documentation de la classe [Request](../boost/resquet.md) pour comprendre comment gérer les requêtes HTTP.