ACSD-48627:沒有庫存的可設定產品導致錯誤
ACSD-48627修補程式修正了在傳送GraphQL請求以取得購物車詳細資料時,無庫存可設定產品導致錯誤的問題。 安裝Quality Patches Tool (QPT) 1.1.25時,即可使用此修補程式。 修補程式ID為ACSD-48627。 請注意,此問題已排程在Adobe Commerce 2.4.6中修正。
受影響的產品和版本
已為Adobe Commerce版本建立修補程式:
- Adobe Commerce (所有部署方法) 2.4.5-p1
與Adobe Commerce版本相容:
- Adobe Commerce (所有部署方法) 2.4.5 - 2.4.5-p1
NOTE
此修補程式可能適用於發行版本為Quality Patches Tool的其他版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將
magento/quality-patches
套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。問題
沒有庫存的可設定產品會在傳送GraphQL請求以取得購物車詳細資料時造成錯誤。
要再現的步驟:
-
建立客戶帳戶。
-
將部分產品新增至購物車,包括可設定的產品。
-
移至管理員後端,並將所有子產品數量設定為0,以編輯可設定的產品。
-
由於所有子產品都無庫存,因此可設定的產品會無庫存。
-
檢查
catalog_product_index_price
資料表。 此產品的記錄是空的。 -
發出GraphQL請求以取得客戶Token。
code language-graphql mutation { generateCustomerToken( email: "test@example.com" password: "xxxx" ) { token } }
-
發出GraphQL請求以取得cartId。
code language-graphql Headers: Authentication => Bearer [customer token in step 6]
code language-graphql { customerCart { id items { id product { name sku } quantity } } }
-
發出GraphQL請求以取得購物車詳細資料。
code language-graphql Headers: Authentication => Bearer [customer token in step 6]
code language-graphql query GetCartDetails($cartId: String!) { cart(cart_id: $cartId) { id ...CartPageFragment __typename } } fragment CartPageFragment on Cart { id total_quantity ...AppliedCouponsFragment ...ProductListingFragment ...PriceSummaryFragment __typename } fragment AppliedCouponsFragment on Cart { id applied_coupons { code __typename } __typename } fragment ProductListingFragment on Cart { id items { uid product { uid name sku url_key url_suffix thumbnail { url __typename } small_image { url __typename } stock_status price_range { minimum_price { final_price { currency value __typename } regular_price { currency value __typename } __typename } __typename } stock_status ... on ConfigurableProduct { variants { attributes { uid __typename } product { uid small_image { url __typename } stock_status __typename } __typename } __typename } __typename } prices { price { currency value __typename } __typename } quantity ... on ConfigurableCartItem { configurable_options { id configurable_product_option_uid option_label configurable_product_option_value_uid value_label __typename } __typename } __typename } __typename } fragment PriceSummaryFragment on Cart { id items { uid quantity __typename } ...ShippingSummaryFragment prices { ...TaxSummaryFragment ...DiscountSummaryFragment ...GrandTotalFragment subtotal_excluding_tax { currency value __typename } subtotal_including_tax { currency value __typename } __typename } __typename } fragment DiscountSummaryFragment on CartPrices { discounts { amount { currency value __typename } label __typename } __typename } fragment GrandTotalFragment on CartPrices { grand_total { currency value __typename } __typename } fragment ShippingSummaryFragment on Cart { id shipping_addresses { selected_shipping_method { amount { currency value __typename } __typename } street __typename } __typename } fragment TaxSummaryFragment on CartPrices { applied_taxes { amount { currency value __typename } __typename } __typename }
預期結果:
回應中沒有 內部伺服器錯誤。
實際結果:
回應中有 內部伺服器錯誤。
套用修補程式
若要套用個別修補程式,請根據您的部署方法使用下列連結:
- 在Quality Patches Tool指南中的Adobe Commerce或Magento Open Source內部部署: Quality Patches Tool >使用狀況
- 雲端基礎結構上的Adobe Commerce:雲端基礎結構上的Commerce指南中的升級和修補程式>套用修補程式
相關閱讀
- Quality Patches Tool 已發行:支援知識庫中的自助式品質修補程式的新工具
- 使用Quality Patches Tool指南中的 Quality Patches Tool,檢查您的Adobe Commerce問題是否有修補程式可用
- 在Commerce實作行動手冊中修改資料庫表格的最佳實務
如需QPT中其他修補程式的詳細資訊,請參閱Quality Patches Tool指南中的Quality Patches Tool:搜尋修補程式。
recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3