ACSD-48627: o produto configurável sem estoque causa um erro
O patch ACSD-48627 corrige o problema em que o produto configurável indisponível causa um erro ao enviar uma solicitação do GraphQL para obter detalhes do carrinho. Este patch está disponível quando o Quality Patches Tool (QPT) 1.1.25 está instalado. A ID do patch é ACSD-48627. Observe que o problema está programado para ser corrigido no Adobe Commerce 2.4.6.
Produtos e versões afetados
O patch foi criado para a versão do Adobe Commerce:
- Adobe Commerce (todos os métodos de implantação) 2.4.5-p1
Compatível com as versões do Adobe Commerce:
- Adobe Commerce (todos os métodos de implantação) 2.4.5 - 2.4.5-p1
magento/quality-patches
para a versão mais recente e verifique a compatibilidade na Quality Patches Tool: página Procurar patches. Use a ID do patch como palavra-chave de pesquisa para localizar o patch.Problema
O produto configurável esgotado causa um erro ao enviar uma solicitação do GraphQL para obter detalhes do carrinho.
Etapas a serem reproduzidas:
-
Crie uma conta de cliente.
-
Adicione alguns produtos ao carrinho, incluindo um produto configurável.
-
Acesse o back-end do administrador e edite o produto configurável definindo a quantidade de todos os produtos secundários como 0.
-
O produto configurável ficará indisponível, pois todos os produtos secundários estão indisponíveis.
-
Verifique a tabela
catalog_product_index_price
. O registro com este produto está vazio. -
Faça uma solicitação GraphQL para obter o token do cliente.
code language-graphql mutation { generateCustomerToken( email: "test@example.com" password: "xxxx" ) { token } }
-
Faça uma solicitação do GraphQL para obter cartId.
code language-graphql Headers: Authentication => Bearer [customer token in step 6]
code language-graphql { customerCart { id items { id product { name sku } quantity } } }
-
Faça uma solicitação GraphQL para obter os detalhes do carrinho.
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:
Nenhum erro interno de servidor na resposta.
Resultados reais:
Há um erro interno do servidor na resposta.
Aplicar o patch
Para aplicar patches individuais, use os links a seguir, dependendo do método de implantação:
- Adobe Commerce ou Magento Open Source local: Quality Patches Tool > Uso no guia Quality Patches Tool
- Adobe Commerce na infraestrutura em nuvem: Atualizações e patches > Aplicar patches no guia do Commerce na infraestrutura em nuvem
Leitura relacionada
- Quality Patches Tool lançamento: uma nova ferramenta para autoatender patches de qualidade na base de dados de conhecimento de suporte
- Verifique se há patch disponível para o problema do Adobe Commerce usando o Quality Patches Tool no guia Quality Patches Tool
- Práticas recomendadas para modificar tabelas de banco de dados no Manual de implementação do Commerce
Para obter informações sobre outros patches disponíveis no QPT, consulte Quality Patches Tool: Pesquisar patches no guia Quality Patches Tool.