Séance 4 : Mise en place d'un panier

Objectif

L'objectif de cette séance est de mettre en place un panier pour notre application. Nous allons le gérer en JavaScript et en PHP.

  • Ajouter un contrôleur, un lien dans le menu et une page afin d'afficher le panier (PanierController)

  • Ajouter un bouton sur la liste des jeux pour ajouter un jeu au panier. On va traiter cette action en JavaScript.

  • Afficher le contenu du panier sur la page panier.

Préparation

Création du contrôleur

Créez un contrôleur PanierController avec une méthode index qui affiche le contenu du panier.

Création de la vue

Créez une vue panier/index.html.twig qui affiche le contenu du panier.

Ajout d'un lien dans le menu

Ajoutez un lien dans le menu pour accéder à la page du panier.

Ajout d'un bouton pour ajouter un jeu au panier

Ajoutez un bouton sur la page de la liste des jeux pour ajouter un jeu au panier. Ce bouton doit être traité en JavaScript.

Exemple de code HTML pour le bouton :

Ajout d'un script JavaScript

Ajoutez un fichier panier.js dans le dossier assets/ pour gérer les actions sur le panier. N'oubliez pas de l'importer dans app.js.

Détection du clic sur le bouton

Ajout du jeu au panier

On utilise ici le Local Storage pour stocker les données du panier. Cela permet de garder les données même si l'utilisateur recharge la page. Ces données sont dans le navigateur de l'utilisateur et ne sont pas envoyées au serveur. Regardez l'outil de développement de votre navigateur pour voir le contenu du Local Storage (application).

Affichage du panier

Affichez le contenu du panier sur la page panier/index.html.twig. Le contenu du panier est stocké dans le Local Storage et n'est donc pas accèssible directement en PHP. Il faut donc passer par JavaScript pour récupérer les données du panier.

La partie Twig

La partie JavaScript

Pour aller plus loin

  • Ajouter un bouton pour supprimer un jeu du panier.

  • Ajouter un bouton pour vider le panier.

  • Permettre de gérer la quantité d'un produit.

Mis à jour

Ce contenu vous a-t-il été utile ?