MDVA-43862:由于GraphQL UpdateCartItems突变错误,客户无法更新购物车项目

MDVA-43862修补程序解决了由于GraphQL UpdateCartItems突变错误而导致客户无法更新购物车项目的问题。 安装Quality Patches Tool (QPT) 1.1.13后,即可使用此修补程序。 修补程序ID为MDVA-43862。 请注意,该问题计划在Adobe Commerce 2.4.5中修复。

受影响的产品和版本

为Adobe Commerce版本创建了修补程序:

  • Adobe Commerce(所有部署方法)2.4.3-p1、2.4.2-p2

与Adobe Commerce版本兼容:

  • Adobe Commerce(所有部署方法) 2.3.3 - 2.4.4
NOTE
该修补程序可能适用于具有新的Quality Patches Tool版本的其他版本。 要检查修补程序是否与您的Adobe Commerce版本兼容,请将magento/quality-patches包更新到最新版本,并在Quality Patches Tool:搜索修补程序页面上检查兼容性。 使用修补程序ID作为搜索关键字来查找修补程序。

问题

由于GraphQL UpdateCartItems突变错误,客户无法更新购物车项目。

重现步骤

  1. 通过指定一个简单的(MH01-XL-Gray)来创建可配置产品(MH01)。

  2. 转到Commerce管理员> 目录 > 产品 > SKU > MH01 > 可自定义选项

  3. 向产品添加自定义选项。

    • 选项标题:选项1
    • 选项类型:字段
    • 必需:是
    • 价格:10.00
    • 价格类型:固定
    • SKU: MHC1
    • 最大字符数:25
  4. 运行以下GraphQL查询以生成购物车ID。

    code language-graphql
    mutation {
      createEmptyCart
    }
    
  5. 记下购物车ID代码。

  6. 运行以下查询以将可配置产品添加到购物车:

    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. 您会注意到购物车中填充了可配置项目。

  8. 记下返回的uid。

  9. 再次运行以下查询以更新购物车项目。

    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. 观察响应。

预期的结果

购物车已更新,且没有出现任何问题。

实际结果

您会收到以下错误:

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

应用修补程序

要应用单独的修补程序,请根据您的部署方法使用以下链接:

相关阅读

要了解有关Quality Patches Tool的更多信息,请参阅:

有关QPT中其他可用修补程序的信息,请参阅Quality Patches Tool指南中的Quality Patches Tool:搜索修补程序

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