[(#REM) Tutoriel pour implémenter le framework ecommerce sous SPIP. Étape 1 : Produits > explications. ]
spip_produits_demos
. Tant qu'il s'agit d'objets éditoriaux SPIP, on peut vendre ce qu'on veut : abonnements, services, objets virtuels etc.
{{{Ajouter au panier}}}
Pour ajouter un objet au panier, il suffit de placer un bouton d'action remplir_panier
dans le squelette. Le 2ème paramètre à passer à \#URL_ACTION_AUTEUR
est de la forme : objet-id_objet-quantite
(voir le code en ligne : [remplir_panier.php->https://zone.spip.org/trac/spip-zone/browser/_plugins_/paniers/trunk/action/remplir_panier.php]).
spip_paniers
et spip_paniers_liens
. On peut boucler dessus si besoin, par exemple pour afficher un lien vers le panier quand celui-ci est rempli.
prix/{objet}.php
, soit via un champ normalisé prix
et/ou prix_ht
(voir le code en ligne : [prix.php->https://zone.spip.org/trac/spip-zone/browser/_plugins_/prix/inc/prix.php\#L24]). Dans les squelettes, les prix affichés par les balises \#PRIX
et \#PRIX_HT
sont formatés automatiquement en incluant la devise grâce au filtre |prix_formater
. Lorsque vous avez besoin du prix brut, pensez à ajouter un étoile pour empêcher le traitement : \#PRIX*
. On peut définir la devise et son écriture au moyen des variables de personnalisation PRIX_DEVISE
et DEVISE_DEFAUT
, par défaut ce sont des Euros (voir le code en ligne : [prix_fonctions.php->https://zone.spip.org/trac/spip-zone/browser/_plugins_/prix/prix_fonctions.php\#L47] et pour rappel : [Les variables de personnalisation->https://www.spip.net/fr_article1825.html]).
Les produits factices de cette page possèdent un champ prix
correspondant au prix TTC. Leur prix HT est calculé en fonction de ce dernier, selon une TVA de 20%, le tout étant défini dans le fichier prix/produitdemo.php
.
{{{Remarques complémentaires}}}
Et si on veut donner la possibilité de choisir une déclinaison, une taille, une couleur etc. ? Pour l'instant, ce n'est pas possible nativement : un panier contient une liste d'objets et leur quantités, mais ne permet pas de stocker des informations supplémentaires. Il faudrait dans ce cas étendre la table spip_paniers_liens
et utiliser un formulaire personnalisé à la place du bouton d'action.