MDVA-37234 : l’ajout de plusieurs fois d’un article dans le panier crée un article en double.
Le correctif MDVA-37234 corrige le problème en raison duquel l’ajout d’un élément au panier plusieurs fois (requête parallèle) pour le même SKU crée un élément de ligne dupliqué pour le même ID de panier. Ce correctif est disponible lorsque l’ outil de correctifs de qualité (QPT) 1.1.3 est installé. L’ID de correctif est MDVA-37234. Veuillez noter que le problème doit être corrigé dans Adobe Commerce 2.4.4.
Produits et versions concernés
Le correctif est créé pour la version Adobe Commerce :
Adobe Commerce (toutes les méthodes de déploiement) 2.3.6, 2.4.1 et 2.4.2
Compatible avec les versions d’Adobe Commerce :
Adobe Commerce (toutes les méthodes de déploiement) 2.3.5 - 2.3.7-p1 et 2.4.1 - 2.4.2-p1
magento/quality-patches
vers la dernière version et vérifiez la compatibilité sur la Quality Patches Tool : recherchez des correctifs sur la page. Utilisez l’ID de correctif comme mot-clé de recherche pour localiser le correctif.Problème
L’ajout d’un élément au panier à plusieurs reprises (requête parallèle) pour le même SKU crée un élément de ligne dupliqué pour le même ID de panier.
Étapes à reproduire :
-
Créez un produit simple avec SKU = simple1.
-
Créez un client.
-
Générez un jeton client pour effectuer une requête GraphQL.
code language-graphql mutation { generateCustomerToken( email: "customer email" password: "customer password" ) { token } }
-
Utilisez le jeton mentionné à l’étape 3 pour créer un panier vide pour le client.
code language-graphql mutation{ createEmptyCart }
-
Créez un script pour exécuter deux requêtes
addSimpleProductsToCart
en parallèle. Par exemple :code language-#!/bin/bash curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer eyJraWQiOiIxIiwiYWxnIjoiSFMyNTYifQ.eyJ1aWQiOjEsInV0eXBpZCI6MywiaWF0IjoxNjIzOTUyNjcwLCJleHAiOjE2MjM5NTYyNzB9.-fh7ysqiQTAacdB3MVvaXzFE9AmKyfF8TsVmICLJoWI" -d '{"query" : "mutation { addSimpleProductsToCart( input: { cart_id: \"S8dCF7uan1POMy0qY0Hup7tEv1AhFGdY\" cart_items: [ { data: { quantity: 2 sku: \"simple1\" } } ] } ) { cart { items { id product { name sku } quantity } } } }"}' http://magento2.3.local/graphql & curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer eyJraWQiOiIxIiwiYWxnIjoiSFMyNTYifQ.eyJ1aWQiOjEsInV0eXBpZCI6MywiaWF0IjoxNjIzOTUyNjcwLCJleHAiOjE2MjM5NTYyNzB9.-fh7ysqiQTAacdB3MVvaXzFE9AmKyfF8TsVmICLJoWI" -d '{"query" : "mutation { addSimpleProductsToCart( input: { cart_id: \"S8dCF7uan1POMy0qY0Hup7tEv1AhFGdY\" cart_items: [ { data: { quantity: 1 sku: \"simple1\" } } ] } ) { cart { items { id product { name sku } quantity } } } }"}' http://magento2.3.local/graphql
-
Exécutez le script.
Résultats attendus :
Une seule ligne de produit avec une quantité totale (ici trois) est créée dans le panier.
Résultats réels :
Deux lignes distinctes pour le même produit sont créées dans le panier.
Appliquer le correctif
Pour appliquer des correctifs individuels, utilisez les liens suivants en fonction de votre type de déploiement :
- Adobe Commerce ou Magento Open Source sur site : Guide de mise à jour logicielle > Appliquer les correctifs dans notre documentation destinée aux développeurs.
- Adobe Commerce sur l’infrastructure cloud : mises à niveau et correctifs > Appliquer les correctifs dans notre documentation destinée aux développeurs.
Lecture connexe
Pour en savoir plus sur les correctifs de qualité pour Adobe Commerce, consultez :
Pour plus d’informations sur les autres correctifs disponibles dans QPT, reportez-vous à la section Correctifs disponibles dans QPT .