|
blog actif depuis 774 jours.
retours d'expériences, codes sources, réflexions, humeurs... d'un webmaster |
||||||||||||||||||||||||||||||||||||||||||||||||||
|
Jeu. 21 Août Le but de cette méthode est évident : pouvoir afficher le panier en temps réel, sans avoir besoin de recharger la page en cours, ceci pour permettre une navigation plus fluide. Ainsi, à chaque ajout (ou suppression) d'article, le panier en session est mis à jour et le résultat apparaît directement dans l'aperçu du panier. Pour cela, on discernera plusieurs éléments : La classe PHP de gestion de panier Le panier en session L'aperçu du panier Les pages de mise à jour PHP Les fonctions Javascript (AJAX) Principe de fonctionnement : A chaque ajout d'article (clique sur le bouton « ajouter au panier ») on appelle une fonction AJAX qui va envoyer les infos de mise à jour à un script PHP, récupérer le panier modifié et afficher le nouvel apperçu.La classe PHP de gestion de panier Une classe PHP va gérer le panier (ajout et suppression d'article, réinitialisation du panier…) Le panier est recalculé à chaque mise à jour (nombre d'articles et prix). Les infos concernant les articles sont également enregistrés en session (pour éviter d'aller les rechercher via une requête SQL à chaque affichage du panier) extrait de la classe panier Le panier en session est de la forme suivante : Array L'aperçu du panier C'est juste un include (panier.inc.php) sous forme de petit encart sur votre page, affichant le nombre d'articles et le montant du panier avec un lien vers le détail du panier. Il est placé dans un div dont le contenu sera mis à jour par les fonctions AJAX Les fonctions javascript (ajax) Pour la partie ajax, j'utilise la classe javascript AJAX de neovov La fonction d'ajout d'article sera de cette forme : function ajouteArticle(idArticle) Explications : On crée un objet ajax avec new XHR() On ajoute les arguments à faire passer au script PHP avec la méthode ajax.appendData On envoi la requête avec ajax_send (panier_update est le nom de la page contenant le script de mise à jour du panier et d'affichage de l'apperçu) On récupère la réponse du script (xhr.responseText) et on met à jour l'aperçu panier sur la page ('ajax_panier' est l'id du div contenant l'aperçu du panier). La page de mise à jour PHP La page PHP (panier_update) exécutée par notre objet AJAX contient d'une part le script de mise à jour du panier et d'autre part la partie affichage au format HTML du panier mis à jour. Voici le script de mise à jour : < ?php Les infos concernant le produit sont récupérées par la fonction getArticle() qui va cherche es infos dans une base de données, un fichier, des valeurs en session…. Elle retourne un tableau de la forme : $article ('libelle','prix') Vous terminez en incluant l'aperçu de votre panier (panier.inc.php). C'est ce code qui sera retourné à l'objet AJAX et remplacera l'aperçu du panier.
CommentairesBonjour stéphane 03/11/2008 J'ai utilisé un système de panier en ajax similaire à celui expliqué dans cet article, cependant, le script php appelé par ajax n'a ne connais pas l'identifiant de la session.... 26/03/2009 Bonjour 03/08/2009 Pour récupérer le panier, il faut utiliser la méthode getPanier(), comme montré dans l'exemple. 10/08/2009 Bonjour, 25/10/2009 bonjour syl20 26/10/2009
Ajouter un commentaire |
Webmaster depuis maintenant plus de 10 ans, j'ai créé ce blog pour publier mes retours d'expérience et parler du Web et du développement Web en général, mais aussi de plein d'autres choses...
romualb.com est sur Facebook
![]()
![]()
![]()
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Bonjour, étant novice, j'aimerai savoir comment est fait le fichier panier.inc.php et ou se place classe PHP. Car je n'arrive pas à intégrer ce panier ça me mets
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /homepages/20/d212452945/htdocs/patate_records/panier.inc.php on line 5
Merci d'avance
01/11/2008