ACSD-52921:向GraphQL請求無庫存可設定產品的購物車詳細資料時發生錯誤

ACSD-52921修補程式修正向GraphQL請求無庫存可設定產品的購物車詳細資料時發生內部錯誤的問題。 安裝Quality Patches Tool (QPT) 1.1.35時,即可使用此修補程式。 修補程式ID為ACSD-52921。 請注意,問題已在Adobe Commerce 2.4.7中修正。

受影響的產品和版本

已為Adobe Commerce版本建立修補程式:

  • Adobe Commerce (所有部署方法) 2.4.6-p1

與Adobe Commerce版本相容:

  • Adobe Commerce (所有部署方法) 2.4.5 - 2.4.6-p1
NOTE
此修補程式可能適用於發行版本為Quality Patches Tool的其他版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。

問題

向GraphQL請求無庫存可設定產品的購物車詳細資料時發生內部錯誤。

要再現的步驟

  1. 使用幾個選項建立可設定的產品。

  2. 從前端(訪客結帳)將以上可設定產品的選項新增到購物車。

  3. 從上述建立報價的[ quote_id_mask ]資料庫資料表中取得[ masked_id ]

  4. 執行下列GraphQL查詢以取得上述訪客購物車詳細資料。

    新增從查詢中的步驟3收到的[ masked_id ]

    code language-graphql
    {
        cart(cart_id: "masked_id") {
            items {
                product {
                    name
                    sku
                }
                ... on ConfigurableCartItem {
                    configurable_options {
                        configurable_product_option_uid
                        option_label
                        configurable_product_option_value_uid
                        value_label
                    }
                }
                quantity
                errors {
                    code
                    message
                }
            }
        }
    }
    
  5. 這將傳回報價詳細資料,而不會出現任何問題。

  6. 移至後端並將可設定產品的​ Stock Status ​更新為​ Out of Stock

  7. 執行與步驟4中相同的GraphQL查詢。

預期結果

錯誤訊息在回應中會正確傳送/處理。

實際結果

回應GraphQL查詢時擲回​ 500內部伺服器 ​錯誤。

套用修補程式

若要套用個別修補程式,請根據您的部署方法使用下列連結:

相關閱讀

如需QPT中其他修補程式的詳細資訊,請參閱Quality Patches Tool指南中的Quality Patches Tool:搜尋修補程式

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