MDVA-43862: impossibile aggiornare gli elementi del carrello a causa di un errore di mutazione di GraphQL UpdateCartItems

La patch MDVA-43862 risolve il problema che impedisce al cliente di aggiornare gli elementi del carrello a causa di un errore di mutazione di GraphQL UpdateCartItems. Questa patch è disponibile quando Strumento Patch di qualità (QPT) 1.1.13. L'ID della patch è MDVA-43862. Il problema è pianificato per essere risolto in Adobe Commerce 2.4.5.

Prodotti e versioni interessati

La patch viene creata per la versione Adobe Commerce:

  • Adobe Commerce (tutti i metodi di implementazione) 2.4.3-p1, 2.4.2-p2

Compatibile con le versioni di Adobe Commerce:

  • Adobe Commerce (tutti i metodi di implementazione) 2.3.3 - 2.4.4
NOTE
La patch potrebbe diventare applicabile ad altre versioni con le nuove versioni dello strumento Patch di qualità. Per verificare se la patch è compatibile con la versione di Adobe Commerce in uso, aggiorna la magento/quality-patches alla versione più recente e verificare la compatibilità nella Quality Patches Tool: pagina Cerca patch. Utilizza l’ID patch come parola chiave di ricerca per individuare la patch.

Problema

Il cliente non può aggiornare gli articoli del carrello a causa di un errore di mutazione di GraphQL UpdateCartItems.

Passaggi da riprodurre:

  1. Creare un prodotto configurabile (MH01) assegnando un semplice (MH01-XL-Gray).

  2. Vai a Amministrazione Commerce > Catalogo > Prodotti > SKU > MH01 > Opzioni personalizzabili.

  3. Aggiungi un’opzione personalizzata al prodotto.

    • Titolo opzione: Opzione1
    • Tipo di opzione: Campo
    • Obbligatorio: sì
    • Prezzo: 10.00
    • Tipo di prezzo: fisso
    • SKU: MHC1
    • Numero massimo di caratteri: 25
  4. Esegui la query GraphQL seguente per generare l’ID carrello.

    code language-graphql
    mutation {
      createEmptyCart
    }
    
  5. Prendi nota del codice ID del carrello.

  6. Esegui la query seguente per aggiungere al carrello un prodotto configurabile:

    code language-graphql
    mutation {
    addConfigurableProductsToCart(
    input: {
        cart_id: "<cart ID from above step>",
        cart_items: [{
        parent_sku: "MH01",
        data: {
            quantity: 1,
            sku: "MH01-XL-Gray"
            },
            customizable_options: {
                id: 1,
                value_string: "2"
                }
            }
        ]
    }
    )
    {
    cart {
      items {
        uid
        quantity
        product {
          name
          sku
        }
        ... on ConfigurableCartItem {
          configurable_options {
            option_label
          }
        }
      }
    }
    }
    }
    
  7. Noterai che il carrello è compilato con l’articolo configurabile.

  8. Prendi nota dell’UID restituito.

  9. Esegui nuovamente la query seguente per aggiornare l’elemento del carrello.

    code language-graphql
    mutation {
      updateCartItems(
        input: {
          cart_id: "<cart ID from previous step>",
          cart_items: [
            {
              cart_item_uid: "<uid from previous step>"
              quantity: 3,
              customizable_options:[{
                  id: 1,
                  value_string: "67"
              }]
            }
          ]
        }
      ){
        cart {
          items {
            uid
            product {
              name
            }
            quantity
          }
          prices {
            grand_total{
              value
              currency
            }
          }
        }
      }
    }
    
  10. Osserva la risposta.

Risultati previsti:

Il carrello viene aggiornato senza alcun problema.

Risultati effettivi:

Viene visualizzato il seguente errore:

{
  "errors": [
    {
      "message": "Could not update cart item: You need to choose options for your item.",
      "extensions": {
        "category": "graphql-input"
      },
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "updateCartItems"
      ]
    }
  ],
  "data": {
    "updateCartItems": null
  }
}

Applicare la patch

Per applicare singole patch, utilizzare i collegamenti seguenti, a seconda del metodo di distribuzione utilizzato:

Lettura correlata

Per ulteriori informazioni sullo strumento Patch di qualità, vedere:

Per informazioni sulle altre patch disponibili in QPT, fare riferimento a Patch disponibili in QPT nella documentazione per gli sviluppatori.

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