ACSD-48627: Konfigurerbar produkt som inte finns i lager orsakar ett fel
Korrigeringen ACSD-48627 åtgärdar ett problem där den konfigurerbara produkten som inte finns i lager orsakar ett fel när en GraphQL-begäran skickas för att få kundvagnsinformation. Den här korrigeringen är tillgänglig när Quality Patches Tool (QPT) 1.1.25 är installerad. Korrigerings-ID är ACSD-48627. Observera att problemet är planerat att åtgärdas i Adobe Commerce 2.4.6.
Berörda produkter och versioner
Korrigeringen har skapats för Adobe Commerce-version:
- Adobe Commerce (alla distributionsmetoder) 2.4.5-p1
Kompatibel med Adobe Commerce-versioner:
- Adobe Commerce (alla distributionsmetoder) 2.4.5 - 2.4.5-p1
magento/quality-patches
-paketet till den senaste versionen och kontrollerar kompatibiliteten på Quality Patches Tool: Sök efter korrigeringsfiler. Använd patch-ID:t som söknyckelord för att hitta patchen.Problem
Olagrad konfigurerbar produkt orsakar ett fel när en GraphQL-begäran skickas för att få kundvagnsinformation.
Steg som ska återskapas:
-
Skapa ett kundkonto.
-
Lägg några produkter i kundvagnen, inklusive en konfigurerbar produkt.
-
Gå till administratörens serverdel och redigera den konfigurerbara produkten genom att ställa in alla underordnade produkter till 0.
-
Den konfigurerbara produkten blir inte i lager eftersom alla underordnade produkter inte finns i lager.
-
Kontrollera tabellen
catalog_product_index_price
. Posten med den här produkten är tom. -
Gör en GraphQL-förfrågan om kundens token.
code language-graphql mutation { generateCustomerToken( email: "test@example.com" password: "xxxx" ) { token } }
-
Gör en GraphQL-förfrågan om att hämta cartId.
code language-graphql Headers: Authentication => Bearer [customer token in step 6]
code language-graphql { customerCart { id items { id product { name sku } quantity } } }
-
Begär att få kundvagnsinformation från 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 }
Förväntade resultat:
Inget internt serverfel i svaret.
Faktiska resultat:
Svaret innehåller ett internt serverfel.
Tillämpa korrigeringen
Använd följande länkar beroende på distributionsmetod för att tillämpa enskilda korrigeringsfiler:
- Lokal användning för Adobe Commerce eller Magento Open Source: Quality Patches Tool > Användningi guiden Quality Patches Tool
- Adobe Commerce om molninfrastruktur: Uppgraderingar och korrigeringar > Tillämpa korrigeringar i guiden för Commerce om molninfrastruktur
Relaterad läsning
- Quality Patches Tool släppt: ett nytt verktyg för självbetjäning av kvalitetspatchar i kunskapsbasen för support
- Kontrollera om det finns en korrigeringsfil för ditt Adobe Commerce-problem med Quality Patches Tool i guiden Quality Patches Tool
- Metodtips för att ändra databastabeller i Commerce Implementeringspellbook
Mer information om andra tillgängliga korrigeringsfiler i QPT finns i Quality Patches Tool: Söka efter korrigeringsfileri Quality Patches Tool-handboken.