ACSD-48627: el producto configurable agotado causa un error
El parche ACSD-48627 corrige el problema en el que el producto configurable sin existencias provoca un error al enviar una solicitud de GraphQL para obtener los detalles del carro de compras. Esta revisión está disponible cuando está instalado Quality Patches Tool (QPT) 1.1.25. El ID del parche es ACSD-48627. Tenga en cuenta que el problema está programado para solucionarse en Adobe Commerce 2.4.6.
Productos y versiones afectados
El parche se ha creado para la versión de Adobe Commerce:
- Adobe Commerce (todos los métodos de implementación) 2.4.5-p1
Compatible con versiones de Adobe Commerce:
- Adobe Commerce (todos los métodos de implementación) 2.4.5 - 2.4.5-p1
magento/quality-patches
a la última versión y compruebe la compatibilidad en la página Quality Patches Tool: buscar parches. Utilice el ID de parche como palabra clave de búsqueda para localizar el parche.Problema
El producto configurable agotado provoca un error al enviar una solicitud GraphQL para obtener los detalles del carro de compras.
Pasos a seguir:
-
Cree una cuenta de cliente.
-
Añadir algunos productos al carro de compras, incluido un producto configurable.
-
Vaya al servidor de administración y edite el producto configurable estableciendo la cantidad de todos los productos secundarios en 0.
-
El producto configurable se quedará sin existencias, ya que todos los productos secundarios se quedarán sin existencias.
-
Compruebe la tabla
catalog_product_index_price
. El registro con este producto está vacío. -
Realice una petición GraphQL para obtener el token de cliente.
code language-graphql mutation { generateCustomerToken( email: "test@example.com" password: "xxxx" ) { token } }
-
Realice una solicitud de GraphQL para obtener cartId.
code language-graphql Headers: Authentication => Bearer [customer token in step 6]
code language-graphql { customerCart { id items { id product { name sku } quantity } } }
-
Realice una solicitud de GraphQL para obtener los detalles del carro de compras.
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 }
Resultados esperados:
No hay error interno del servidor en la respuesta.
Resultados reales:
Hay un error interno del servidor en la respuesta.
Aplicar el parche
Para aplicar parches individuales, utilice los siguientes vínculos según el método de implementación:
- Adobe Commerce o Magento Open Source local: Quality Patches Tool > Uso en la guía Quality Patches Tool
- Adobe Commerce en la infraestructura de la nube: Actualizaciones y parches > Aplicar parches en la guía Commerce en la infraestructura de la nube
Lectura relacionada
- Quality Patches Tool publicado: nueva herramienta para autodistribuir parches de calidad en la base de conocimiento de soporte
- Compruebe si el parche está disponible para su problema de Adobe Commerce usando Quality Patches Tool en la guía Quality Patches Tool
- Prácticas recomendadas para modificar tablas de base de datos en el libro de estrategias de implementación de Commerce
Para obtener información sobre otros parches disponibles en QPT, consulte Quality Patches Tool: Buscar parches en la guía Quality Patches Tool.