ACP2E-5143: a consulta do GraphQL route renderiza conteúdo de página do CMS não solicitado

O patch ACP2E-5143 corrige o problema em que a consulta do GraphQL route renderiza o conteúdo completo da página do CMS, incluindo widgets do Page Builder e listas de produtos, mesmo quando apenas campos de roteamento de URL são solicitados, o que atrasa a resolução do URL. Este patch está disponível quando o Quality Patches Tool (QPT) 1.1.84 está instalado. A ID do patch é ACP2E-5143. Observe que esse problema está programado para ser corrigido no Adobe Commerce 2.4.10.

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.7-p9

Compatível com as versões do Adobe Commerce:

  • Adobe Commerce (todos os métodos de implantação) 2.4.4 - 2.4.7-p10
NOTE
O patch pode se tornar aplicável a outras versões com as novas versões do Quality Patches Tool. Para verificar se o patch é compatível com a sua versão do Adobe Commerce, atualize o pacote 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

Problema em que a consulta route do GraphQL renderiza o conteúdo completo da página do CMS, incluindo widgets do Page Builder e listas de produtos, mesmo quando apenas campos de roteamento de URL são solicitados, o que torna a resolução do URL mais lenta.

Pré-requisitos:

O Page Builder está instalado.

Etapas a serem reproduzidas:

  1. Vá para Admin > Content > Elements > Pages e clique em Add New Page.

  2. Insira os detalhes da página, defina Enable Page como Yes e clique em Edit with Page Builder na seção Content. Expanda Add Content no painel do Page Builder e arraste para o palco um espaço reservado de Products, ou insira um widget de produto de catálogo no conteúdo da página.

  3. No Admin, vá para Stores > Settings > Configuration. No painel esquerdo, em General, escolha Web e expanda Default Pages. Defina CMS Home Page para a nova página e clique em Save Config.

  4. Envie a seguinte solicitação do GraphQL:

    code language-none
    query ResolveURL($url: String!) {
      route(url: $url) {
        relative_url
        redirect_code
        type
        ... on CmsPage { identifier __typename }
        ... on ProductInterface { uid __typename }
        ... on CategoryInterface { uid __typename }
        __typename
      }
    }
    
  5. Use as seguintes variáveis para a solicitação:

    code language-none
    { "url": "/" }
    

Resultados esperados:

A consulta route retorna os metadados de roteamento solicitados e os campos discriminadores de tipo para a página inicial do CMS sem renderizar seu conteúdo completo.

Resultados reais:

  1. A consulta route renderiza o conteúdo completo da página inicial do CMS, mesmo que apenas os metadados de roteamento e campos discriminadores de tipo sejam solicitados.
  2. Os widgets do Page Builder carregam coleções de produtos, aumentando o tempo de resposta e o número de consultas ao banco de dados por solicitação.

Aplicar o patch

Para aplicar patches individuais, use os links a seguir, dependendo do método de implantação:

Leitura relacionada

Para saber mais sobre Quality Patches Tool, consulte:

recommendation-more-help
commerce-operations-help-tools