ACSD-48627: Nicht vorrätig konfigurierbares Produkt verursacht einen Fehler
Der Patch ACSD-48627 behebt das Problem, bei dem das konfigurierbare nicht vorrätige Produkt beim Senden einer GraphQL-Anfrage zum Abrufen von Warenkorbdetails einen Fehler verursacht. Dieser Patch ist verfügbar, wenn Quality Patches Tool (QPT) 1.1.25 installiert ist. Die Patch-ID lautet ACSD-48627. Bitte beachten Sie, dass das Problem in Adobe Commerce 2.4.6 behoben sein soll.
Betroffene Produkte und Versionen
Der Patch wird für die Adobe Commerce-Version erstellt:
- Adobe Commerce (alle Bereitstellungsmethoden) 2.4.5-p1
Kompatibel mit Adobe Commerce-Versionen:
- Adobe Commerce (alle Bereitstellungsmethoden) 2.4.5 - 2.4.5-p1
magento/quality-patches
auf die neueste Version und überprüfen Sie die Kompatibilität auf der Seite Quality Patches Tool: Suchen nach Patches. Verwenden Sie die Patch-ID als Suchschlüsselwort, um den Patch zu finden.Problem
Nicht vorrätig konfigurierbares Produkt verursacht einen Fehler beim Senden einer GraphQL-Anfrage zum Abrufen von Warenkorbdetails.
Zu reproduzierende Schritte:
-
Erstellen Sie ein Kundenkonto.
-
Fügen Sie einige Produkte zum Warenkorb hinzu, einschließlich eines konfigurierbaren Produkts.
-
Wechseln Sie zum Admin-Backend und bearbeiten Sie das konfigurierbare Produkt, indem Sie alle untergeordneten Produkte auf 0 setzen.
-
Das konfigurierbare Produkt wird nicht mehr vorrätig, da alle untergeordneten Produkte nicht mehr vorrätig sind.
-
Überprüfen Sie die Tabelle
catalog_product_index_price
. Der Datensatz mit diesem Produkt ist leer. -
Stellen Sie eine GraphQL-Anfrage, um das Kunden-Token abzurufen.
code language-graphql mutation { generateCustomerToken( email: "test@example.com" password: "xxxx" ) { token } }
-
Stellen Sie eine GraphQL-Anfrage, um cartId zu erhalten.
code language-graphql Headers: Authentication => Bearer [customer token in step 6]
code language-graphql { customerCart { id items { id product { name sku } quantity } } }
-
Stellen Sie eine GraphQL-Anfrage, um die Details zum Warenkorb abzurufen.
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 }
Erwartete Ergebnisse:
Kein Interner Server-Fehler in der Antwort.
Tatsächliche Ergebnisse:
Die Antwort enthält einen internen Server-Fehler.
Wenden Sie den Patch an
Verwenden Sie je nach Bereitstellungsmethode die folgenden Links, um einzelne Patches anzuwenden:
- Adobe Commerce oder Magento Open Source vor Ort: Quality Patches Tool > Nutzung im Quality Patches Tool-Handbuch
- Adobe Commerce in Cloud-Infrastruktur: Upgrades und Patches > Patches anwenden im Handbuch Commerce on Cloud Infrastructure
Verwandtes Lesen
- Quality Patches Tool veröffentlicht: ein neues Tool zur Selbstbedienung von Qualitäts-Patches in der Support-Wissensdatenbank
- Überprüfen Sie mithilfe von Quality Patches Tool im Quality Patches Tool-Handbuch, ob der Patch für Ihr Adobe Commerce-Problem verfügbar ist.
- Best Practices für die Änderung von Datenbanktabellen im Playbook für die Commerce-Implementierung
Weitere Informationen zu anderen in QPT verfügbaren Patches finden Sie unter Quality Patches Tool: Suchen nach Patches im Quality Patches Tool -Handbuch.