Mise en place du catalogue de produits avec ajouter au panier, indication du nombre de produits dans le panier, ...
Mise en place de la page catalogue. Cette page doit afficher la liste des produits disponibles avec un bouton permettant l'ajout au panier.
Vous veillerez à travailler l'affichage pour intégrer les éléments nécessaires, coller à votre gabarit et avoir une accessibilité correcte.
Vous pouvez faire cette page en PHP, avec un tableau de produits en dur, ou HTML en dupliquant les blocs de produits. L'objectif est d'afficher une dizaine de produits, avec, a minima une image, un titre, un prix et un bouton d'ajout au panier.
Exercice
Intégrer votre menu (avec un endroit pour afficher la quantité d'article dans le panier) et votre page catalogue.
Mise en place du bouton ajouter
Le bouton ajouter doit faire plusieurs choses :
ajouter le produit au panier (dans une variable JavaScript), puis dans le localStorage
mettre à jour la quantité d'article dans le panier (dans le menu)
éventuellement afficher un message de confirmation et indiquer la quantité selectionnée dans l'article.
Comme nous l'avons fait sur les séances précédentes, nous allons parcourir tous les boutons "Ajouter au panier" et ajouter un écouteur d'événement sur le clic.
// On récupère tous les boutons "Ajouter au panier"constbuttons=document.querySelectorAll('.add-to-cart');//si notre bouton à une classe add-to-cart// On parcourt tous les boutonsbuttons.forEach((button)=>{ // On ajoute un écouteur d'événement sur le clicbutton.addEventListener('click',(event)=>{ //on gère le clic});});
Gestion du clic
Les étapes à faire sont les suivantes :
Récupérer les informations du produit
On peut soit parcourir le dom pour récupérer les informations (titre, prix, id), soit récupérer les informations avec des attributs "data", soit récupérer depuis une source de données (appel API, ...).
Vérifier si le produit est déjà dans le panier
Si oui, on doit augmenter la quantité
Si non, on doit l'ajouter dans le panier avec une quantité 1
Mettre à jour la quantité d'article dans le panier (dans le menu)
Deux logique, on affiche le nombre différents de produit, on affiche la quantité réelle de produit. A votre convenance.
Exercice
Mettre en place le fonctionnement des boutons et l'affichage du nombre de produits dans le menu
Stockage dans le localStorage
Actuellement, si vous actualisez votre page, tout est perdu. Ce n'est pas très pratique... Une solution simple consiste à stocker les informations dans le localStorage ou sessionStorage.