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
document.querySelectorAll('.ajoutJeu').forEach(function(button) {button.addEventListener('click',function() {// Récupération des données du jeulet id =button.getAttribute('data-id');let nom =button.getAttribute('data-nom');let prix =button.getAttribute('data-prix');// Ajout du jeu au panierajouterJeu(id, nom, prix); });});
Ajout du jeu au panier
functionajouterJeu(id, nom, prix) {// Récupération du panierlet panier =JSON.parse(localStorage.getItem('panier')) || [];// Vérification si le jeu est déjà dans le panierlet jeu =panier.find(j =>j.id == id);if (jeu) {jeu.quantite++; } else {panier.push({ id: id, nom: nom, prix: prix, quantite:1 }); }// Enregistrement du panierlocalStorage.setItem('panier',JSON.stringify(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.