[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

MDVA-43862 : le client ne peut pas mettre à jour les articles du panier en raison d’une erreur de mutation UpdateCartItems de GraphQL

Le correctif MDVA-43862 résout le problème où le client ne peut pas mettre à jour les articles du panier en raison d’une erreur de mutation UpdateCartItems de GraphQL. Ce correctif est disponible lorsque l’outil de correctifs de qualité (QPT) 1.1.13 est installé. L’ID du correctif est MDVA-43862. Notez que le problème est planifié pour être corrigé dans Adobe Commerce 2.4.5.

Produits et versions concernés

Le correctif est créé pour la version Adobe Commerce :

  • Adobe Commerce (toutes les méthodes de déploiement) 2.4.3-p1, 2.4.2-p2

Compatible avec les versions d’Adobe Commerce :

  • Adobe Commerce (toutes les méthodes de déploiement) 2.3.3 - 2.4.4
NOTE
Le correctif peut s’appliquer à d’autres versions avec de nouvelles versions de l’outil de correctifs de qualité. Pour vérifier si le correctif est compatible avec votre version d’Adobe Commerce, mettez à jour le package 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

Le client ne peut pas mettre à jour les articles du panier en raison d’une erreur de mutation UpdateCartItems de GraphQL.

Procédure à suivre :

  1. Créez un produit configurable (MH01) en attribuant un simple (MH01-XL-Gray).

  2. Accédez à Commerce Admin > Catalogue > Produits > SKU > MH01 > Options personnalisables.

  3. Ajoutez une option personnalisée au produit.

    • Titre de l’option : Option1
    • Type d’option : champ
    • Obligatoire : Oui
    • Prix : 10.00
    • Type de prix : Fixe
    • SKU : MHC1
    • Caractères max. : 25
  4. Exécutez la requête GraphQL ci-dessous pour générer l’ID de panier.

    code language-graphql
    mutation {
      createEmptyCart
    }
    
  5. Notez le code de l’ID de panier.

  6. Exécutez la requête ci-dessous pour ajouter un produit configurable au panier :

    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. Vous remarquerez que l’article configurable est présent dans le panier.

  8. Notez l’UID renvoyé.

  9. Exécutez à nouveau la requête ci-dessous pour mettre à jour l’article du panier.

    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. Observez la réponse.

Résultats attendus :

Le panier est mis à jour sans problème.

Résultats réels :

Vous obtenez l’erreur suivante :

{
  "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
  }
}

Application du correctif

Pour appliquer des correctifs individuels, utilisez les liens suivants en fonction de votre méthode de déploiement :

Lecture connexe

Pour en savoir plus sur l’outil de correctifs de la qualité, voir :

Pour plus d’informations sur les autres correctifs disponibles dans QPT, reportez-vous à Quality Patches Tool : Rechercher des correctifs dans le guide de Quality Patches Tool.

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3