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
NOTE
Der Patch kann für andere Versionen mit neuen Quality Patches Tool -Versionen gelten. Um zu überprüfen, ob der Patch mit Ihrer Adobe Commerce-Version kompatibel ist, aktualisieren Sie das Paket 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:

  1. Erstellen Sie ein Kundenkonto.

  2. Fügen Sie einige Produkte zum Warenkorb hinzu, einschließlich eines konfigurierbaren Produkts.

  3. Wechseln Sie zum Admin-Backend und bearbeiten Sie das konfigurierbare Produkt, indem Sie alle untergeordneten Produkte auf 0 setzen.

  4. Das konfigurierbare Produkt wird nicht mehr vorrätig, da alle untergeordneten Produkte nicht mehr vorrätig sind.

  5. Überprüfen Sie die Tabelle catalog_product_index_price . Der Datensatz mit diesem Produkt ist leer.

  6. Stellen Sie eine GraphQL-Anfrage, um das Kunden-Token abzurufen.

    code language-graphql
    mutation {
        generateCustomerToken(
            email: "test@example.com"
            password: "xxxx"
            ) {
                token
                }
                }
    
  7. 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
                    }
                    }
                    }
    
  8. 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:

Verwandtes Lesen

Weitere Informationen zu anderen in QPT verfügbaren Patches finden Sie unter Quality Patches Tool: Suchen nach Patches im Quality Patches Tool -Handbuch.

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