[(#REM) Tutoriel pour implémenter le framework ecommerce sous SPIP. Étape 1 : Panier > explications. ]

Étape 2 : validation du panier et création de la commande.

On affiche le contenu du panier au moyen de \#FORMULAIRE_PANIER. Sans paramètre, il s'agit du panier en cours, sinon on peut passer l'identifiant d'un panier donné (voir le code en ligne : [panier.php->https://zone.spip.org/trac/spip-zone/browser/_plugins_/paniers/trunk/formulaires/panier.php] et [panier.html->https://zone.spip.org/trac/spip-zone/browser/_plugins_/paniers/trunk/formulaires/panier.html]). Le formulaire permet de changer les quantités de chaque objet et de recalculer le total. Pour retirer un objet, passer la quantité à 0 et recalculer. L'identifiant du panier en cours peut être récupéré avec \#SESSION{id_panier}. Un panier est réparti sur 2 tables : les infos de base sont contenues dans la table spip_paniers, les objets et leurs quantités se trouvent dans la table spip_paniers_liens. {{{Valider le panier}}} On valide le panier au moyen du bouton d'action commandes_paniers. Le panier va être "transformé" en commande : celle-ci aura le statut «en cours», et le panier sera supprimé. A noter qu'il ne peut y avoir qu'une seule commande en cours à la fois par visiteur : toute nouvelle commande en cours créée écrasera une éventuelle ancienne commande avec le même statut. Le 2ème paramètre à passer à \#URL_ACTION_AUTEUR est l'identifiant du panier, s'il n'est pas donné ce sera celui en cours (voir le code en ligne : [commandes_paniers.php->https://zone.spip.org/trac/spip-zone/browser/_plugins_/commandes_paniers/action/commandes_paniers.php]). [(\#BOUTON_ACTION{ 'passer la commande', \#URL_ACTION_AUTEUR{ commandes_paniers, \#SESSION{id_panier}, \#URL_PAGE{paiement}} })] {{{Vider le panier}}} On peut donner au visiteur la possibilité de supprimer le panier en cours au moyen du bouton d'action supprimer_panier_encours, ou un panier donné avec supprimer_panier (voir le code en ligne : [supprimer_panier_encours.php->https://zone.spip.org/trac/spip-zone/browser/_plugins_/paniers/trunk/action/supprimer_panier_encours.php] et [supprimer_panier.php->https://zone.spip.org/trac/spip-zone/browser/_plugins_/paniers/trunk/action/supprimer_panier.php]). [(\#BOUTON_ACTION{ \<:paniers:vider_le_panier:>, \#URL_ACTION_AUTEUR{ supprimer_panier_encours, '', \#SELF} })] {{{Remarques complémentaires}}} Pour gérer des adresses de facturation et de livraison, il nous faudrait le plugin «[Coordonnées->https://plugins.spip.net//coordonnees]». On pourrait afficher une simulation des frais de port à côté du panier. Il faudrait insérer une ou plusieurs étapes supplémentaires avant le paiement afin de choisir ou créer des adresses, choisir un mode de livraison, etc.