- Accueil
- Info légales
- Aide (FAQ)
- Les tags de ce site
- Bloc note
- Articles techniques
- Notes system
- Divers articles
- Drupal
- Notes ITIL 2007
- Notes MS
- Dans le quartier...
- Emploi
- Recettes de cuisine et adresses gourmandes
- mes applis ubuntu préferées
- Divers acronymes du monde social
- Internet 2018
- P2 meublé à louer - quartier du Poteau 75018
- apcos - réseaux sociaux et outils
- Articles techniques
- Divers liens
- Fun
- Mon CV IT
- Nouveautés
test Module Commerce WPS -p5 Panier
ou Shopping cart
Source : https://drupalcommerce.org/user-guide/shopping-cart
1. le bouton Add-to-Cart et le formulaire du meme nom (qui affiche via ajax le bouton, image et prix dynamiquement)
-> cf https://drupalcommerce.org/user-guide/cart
On a vu que commerce utilise massivement Views et ajax. En configurant le champ Ref Produit (cf p3 créer Product Display et son champ) la case "Render fields from the referenced products when viewing this entity" doit etre cochée.
Rappel "modifier le formatter" via "Gérer l'affichage" de Store / Product / Product Types (admin/commerce/products/types/product/display/node_teaser) (cf p1). Chaque type d'entité qui a un champ de référence de produit aura tous les domaines de références de produits dispo, afin de les réorganiser (par rapport à d'autres domaines de l'entité) ou les cacher.
Champs d'attibuts, ex de form "ajout panier" ou "si l'on change un attribut, alors le prix et l'image doivent suivre" (injection via ajax). Pour avoir par ex une liste déroulante avec des prix, ajouter un champ sur l'entité produit, et non dans le type de contenu.
Gérer l'affichage du type de contenu Product display a un widget "Add to Cart form" (Administration » Structure » Types de contenu » Product Display ou admin/structure/types/manage/product_display/display).
Le nœud de présentation de produit est configuré pour agréger les différents champs d'attributs dans le form Add-to-cart
Il est aussi possible de personnaliser un attribut du produit pour chaque commande.
Ex: le client rentre le texte à ajouter sur le t-shirt.
2. Paniers anonymes et users logués
https://drupalcommerce.org/user-guide/anonymous-carts-and-logged-users
Conversion de Panier
Un surfeur, anonyme, clique sur Ajouter au panier. Un ordre de commande est créé pour la session anonyme de ce client.
Si ce surfeur se logue sur le site (et qu'il a un panier), alors cet ordre est déplacé pour être une partie de la session authentifiée, c'est une conversion de panier.
Cacher le panier
Pour cacher le caddie aux surfeurs anonymes, le plus simple est de configurer le bloc, mais on peux aussi utiliser Views (avec la perm sur master Access: None).
Cacher un panier vide (facon kickstart)
Expiration de chariot
De vieux paniers sont à nettoyer par les admin.
Ex scénar: 1. un user logué crée un panier, mais se déconnecte (sans commander). 2. un user anonyme recrée le panier quelques jours plus tard, et se connecte.
3. Après paiement, l'utilisateur est présenté avec le dernier panier (créé en dernier) qui était celui qu'ils ont créé à l'étape 1. 4. Le pire des scénario: l'utilisateur, pensant que leur achat n'est pas arrivé à terme et recommence tout le processus.
Voir à ce sujet le module https://www.drupal.org/project/commerce_cart_expiration
6. Panier (shopping carts), commande (order) et items ligne
Les 3 sont proches. Panier: liste des produits qu'un client veux acheter à la caisse. Commande : liste des produits avec un statut (ici, panier = achat avec statut "panier").
Items de ligne: dans une commande, chaque produit est référencé par un dossier, qui comporte quantité et la référence de la commande -> c'est cela, les éléments de ligne. Il y a d'autres types de items lignes (comme les taxes ou réductions), mais ces autres types de lignes n'ont pas autant d'importance pour un panier. Car le gros du travail du module Commerce consiste à modifier ce statut.
Le panier de plus près : un achat de statut particulier
Ex, dans admin/commerce/orders/2/edit en bas:
Dès qu'un produit est ajouté au panier, une ordre de commande est crée et est associé avec le client, soit par ID user (si user logué), soit s'il s'agit d'un surfeur anomyme via un tableau dans la session (commerce_cart_orders).
Noter le statut qui y apparait :
Chaque changement est enregistré comme une révision.
Un client peux avoir plusieurs paniers ouvert, si la conf par défaut est de montrer le plus récent (hook_commerce_cart_order_id () peut être utilisé pour modifier le chargement du panier).
Le panier est facultatif => la caisse est implémentée dans un module distinct.
Modification de panier : utilisation de règles
Par exemple, disons que vous ne pouvez acheter le produit A que si B n'est pas dans le panier.
Mise en forme du bloc Panier
Avec Views: https://drupalcommerce.org/user-guide/modifying-shopping-cart-using-views
Travailler avec les évènements et les règles
Le module Panier définit des évènements et hooks qui permettent d'agir: avant l'ajout d'un produit dans le panier, après l'avoir ajouté, après l'avoir éliminé du panier.
Pour l'ajout "avant et après", les évènements qui sont déclenchés recoivent un paramètre d'item de ligne (contient gamme produit du produit ajouté ou rétiré).
sur le web
sur les statuts : https://www.paypal-community.com/t5/Statut-des-paiements-PayPal/bd-p/PAYST
Fichier attaché | Taille |
---|---|
Liste des statut d'une commande | 28.06 Ko |
Voir les commandes et y vérifier le statut | 22.08 Ko |