MDVA-37234: Durch das mehrfache Hinzufügen eines Artikels zum Warenkorb wird ein doppelter Zeileneintrag erstellt

Der Patch MDVA-37234 behebt das Problem, dass beim mehrfachen Hinzufügen eines Artikels zum Warenkorb (parallele Anfrage) für dieselbe SKU ein doppeltes Zeilenelement für dieselbe Warenkorb-ID erstellt wird. Dieser Patch ist verfügbar, wenn das Quality Patches Tool (QPT) 1.1.3 installiert ist. Die Patch-ID lautet MDVA-37234. Bitte beachten Sie, dass das Problem in Adobe Commerce 2.4.4 behoben sein soll.

Betroffene Produkte und Versionen

Der Patch wird für die Adobe Commerce-Version erstellt:

Adobe Commerce (alle Bereitstellungsmethoden) 2.3.6, 2.4.1 und 2.4.2

Kompatibel mit Adobe Commerce-Versionen:

Adobe Commerce (alle Bereitstellungsmethoden) 2.3.5 - 2.3.7-p1 und 2.4.1 - 2.4.2-p1

NOTE
Der Patch kann für andere Versionen mit den neuen Versionen des Quality Patches Tool angewendet werden. Um zu überprüfen, ob der Patch mit Ihrer Adobe Commerce-Version kompatibel ist, aktualisieren Sie das Paket magento/quality-patches auf die neueste Version und überprüfen Sie die Kompatibilität auf der Seite Quality Patches Tool: Suchen nach Patches. Verwenden Sie die Patch-ID als Suchschlüsselwort, um den Patch zu finden.

Problem

Wenn Sie ein Element mehrmals zum Warenkorb hinzufügen (parallele Anfrage), wird für dieselbe SKU ein doppeltes Zeilenelement für dieselbe Warenkorb-ID erstellt.

Zu reproduzierende Schritte:

  1. Erstellen Sie ein einfaches Produkt mit SKU = simple1.

  2. Erstellen Sie einen Kunden.

  3. Generieren Sie ein Kunden-Token für GraphQL-Anfragen.

    code language-graphql
    
     mutation {
         generateCustomerToken(
             email: "customer email"
             password: "customer password"
         )
         {
             token
         }
     }
    
    
  4. Verwenden Sie das in Schritt 3 erwähnte Token, um einen leeren Warenkorb für den Kunden zu erstellen.

    code language-graphql
    
     mutation{
      createEmptyCart
     }
    
    
  5. Erstellen Sie ein Skript, um zwei addSimpleProductsToCart -Anforderungen parallel auszuführen. Beispiel:

    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
    
    
  6. Führen Sie das Skript aus.

Erwartete Ergebnisse:

Im Warenkorb wird nur eine Produktlinie mit einer Gesamtmenge (in diesem Fall drei) erstellt.

Tatsächliche Ergebnisse:

Im Warenkorb werden zwei separate Zeilen für dasselbe Produkt erstellt.

Wenden Sie den Patch an

Verwenden Sie je nach Bereitstellungstyp die folgenden Links, um einzelne Patches anzuwenden:

Verwandtes Lesen

Weitere Informationen zu Qualitäts-Patches für Adobe Commerce finden Sie unter:

Weitere Informationen zu anderen in QPT verfügbaren Patches finden Sie im Abschnitt In QPT verfügbare Patches.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a