MDVA-37234: l'aggiunta di più elementi al carrello crea un elemento riga duplicato
La patch MDVA-37234 risolve il problema che, quando si aggiunge più volte un elemento al carrello (richiesta parallela) per lo stesso SKU, viene creato un elemento riga duplicato per lo stesso ID carrello. Questa patch è disponibile quando è installato QPT (Quality Patches Tool) 1.1.3. L'ID della patch è MDVA-37234. Il problema è pianificato per essere risolto in Adobe Commerce 2.4.4.
Prodotti e versioni interessati
La patch è stata creata per la versione di Adobe Commerce:
Adobe Commerce (tutti i metodi di implementazione) 2.3.6, 2.4.1 e 2.4.2
Compatibile con le versioni di Adobe Commerce:
Adobe Commerce (tutti i metodi di implementazione) 2.3.5 - 2.3.7-p1 e 2.4.1 - 2.4.2-p1
magento/quality-patches
alla versione più recente e verificare la compatibilità nella pagina Quality Patches Tool: Cerca patch. Utilizza l’ID patch come parola chiave di ricerca per individuare la patch.Problema
Se si aggiunge più volte un articolo al carrello (richiesta parallela) per lo stesso SKU, viene creata una riga duplicata per lo stesso ID carrello.
Passaggi da riprodurre:
-
Creare un prodotto semplice con SKU = simple1.
-
Crea un cliente.
-
Genera un token cliente per effettuare una richiesta GraphQL.
code language-graphql mutation { generateCustomerToken( email: "customer email" password: "customer password" ) { token } }
-
Utilizza il token indicato nel passaggio 3 per creare un carrello vuoto per il cliente.
code language-graphql mutation{ createEmptyCart }
-
Creare uno script per eseguire due richieste
addSimpleProductsToCart
in parallelo. Ad esempio: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
-
Esegui lo script.
Risultati previsti:
Nel carrello viene creata una sola linea di prodotti con una quantità totale (tre in questo caso).
Risultati effettivi:
Nel carrello vengono create due righe separate per lo stesso prodotto.
Applicare la patch
Per applicare singole patch, utilizzare i collegamenti seguenti a seconda del tipo di distribuzione:
- Adobe Commerce o Magento Open Source on-premise: Guida all'aggiornamento software > Applicazione di patch nella documentazione per gli sviluppatori.
- Adobe Commerce sull'infrastruttura cloud: Aggiornamenti e patch > Applica patch nella documentazione per gli sviluppatori.
Lettura correlata
Per ulteriori informazioni sulle patch di qualità per Adobe Commerce, consulta:
Per informazioni sulle altre patch disponibili in QPT, consulta la sezione Patch disponibili in QPT.