MDVA-37234 : l’ajout multiple d’articles au panier crée des lignes en double
Le correctif MDVA-37234 corrige le problème en raison duquel l’ajout multiple d’un article au panier (requête parallèle) pour le même SKU crée un élément de ligne en double 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 du correctif est MDVA-37234. Notez que le problème est planifié pour ê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 page Quality Patches Tool : Rechercher des correctifs. Utilisez l’ID du correctif comme mot-clé de recherche pour localiser le correctif.Problème
L’ajout multiple d’un article au panier (demande parallèle) pour le même SKU crée un duplicata d’article en ligne pour le même ID de panier.
Procédure à suivre :
-
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 effectuer deux requêtes
addSimpleProductsToCartexécutées 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 produits avec une quantité totale (trois dans ce cas) est créée dans le panier.
Résultats réels :
Deux lignes distinctes pour le même produit sont créées dans le panier.
Application du correctif
Pour appliquer des correctifs individuels, utilisez les liens suivants en fonction de votre type de déploiement :
- Adobe Commerce ou Magento Open Source On-premise : Quality Patches Tool > Utilisation dans le guide de Quality Patches Tool.
- Adobe Commerce sur les infrastructures cloud : Mises à niveau et correctifs > Appliquer des correctifs dans le guide Commerce sur les infrastructures cloud .
Lecture connexe
Pour en savoir plus sur les correctifs de qualité pour Adobe Commerce, consultez :
- Publication de l’outil Correctifs de qualité un nouvel outil permettant d’appliquer des correctifs de qualité en libre-service dans la base de connaissances du support.
- Vérifiez si un correctif est disponible pour votre problème Adobe Commerce à l’aide de l’outil de correctifs de qualité dans le guide de Quality Patches Tool.
Pour plus d’informations sur les autres correctifs disponibles dans QPT, reportez-vous à la section Correctifs disponibles dans QPT.