ACSD-48627: Nicht vorrätiges konfigurierbares Produkt verursacht einen Fehler
Der Patch von ACSD-48627 behebt das Problem, dass das nicht vorrätige konfigurierbare Produkt einen Fehler verursacht, wenn eine GraphQL-Anfrage gesendet wird, um Warenkorbdetails abzurufen. Dieser Patch ist verfügbar, wenn Quality Patches Tool (QPT) 1.1.25 installiert ist. Die Patch-ID ist ACSD-48627. Beachten Sie, dass das Problem voraussichtlich in Adobe Commerce 2.4.6 behoben wird.
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: Nach Patches suchen. Verwenden Sie die Patch-ID als Suchbegriff, um den Patch zu finden.Problem
Nicht vorrätiges konfigurierbares Produkt verursacht einen Fehler beim Senden einer GraphQL-Anfrage zum Abrufen von Warenkorbdetails.
Schritte zur Reproduktion:
-
Kundenkonto erstellen.
-
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 für alle untergeordneten Produkte die Menge auf 0 festlegen.
-
Das konfigurierbare Produkt ist nicht mehr vorrätig, da alle untergeordneten Produkte nicht mehr vorrätig sind.
-
Überprüfen Sie die
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 die 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 Warenkorbdetails zu erhalten.
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:
In der ist ein „Interner Server Fehler“ enthalten.
Patch anwenden
Verwenden Sie je nach Bereitstellungsmethode die folgenden Links, um einzelne Patches anzuwenden:
- Adobe Commerce oder Magento Open Source On-Premise: Quality Patches Tool > im Quality Patches Tool
- Adobe Commerce in Cloud-Infrastruktur: Upgrades und Patches > Patches anwenden im Handbuch zu Commerce in Cloud-Infrastruktur
Verwandtes Lesen
- Quality Patches Tool Veröffentlicht: Ein neues Tool zur Selbstbedienung hochwertiger Patches in der Support-Wissensdatenbank
- Überprüfen Sie, ob für Ihr Adobe Commerce-Problem ein Patch verfügbar ist Quality Patches Tool im Quality Patches Tool Handbuch
- Best Practices zum Ändern von Datenbanktabellen im Commerce-Implementierungs-Playbook
Weitere Informationen zu anderen in QPT verfügbaren Patches finden Sie unter Quality Patches Tool: Suchen nach Patches im Quality Patches Tool.