Menu
Feedback
Problemas conhecidos
O linkId não está sendo registrado no rewriter ao traduzir com o catálogo graphql
Store Framework
ID: 654951
Backlog
Publicado em08/09/2022
Última atualização em10/07/2024
2 min de leitura

Sumário

Este problema conhecido foi traduzido automaticamente do inglês.

Ao usar o catálogo graphQL e traduzir o URL usando o linkId, o reescritor deve armazenar o linkId, mas isso não está acontecendo: https://developers.vtex.com/docs/guides/catalog-internationalization

Simulação

  • Siga o guia de documentação para traduzir o conteúdo do catálogo: https://developers.vtex.com/vtex-developer-docs/docs/catalog-internationalization#mutation

  • Para links de categoria:

    • Verifique o linkId que você criou em admin/graphql-ide e escolha o aplicativo de reescrita:

      { internal{ get(path: "yourLinkdIdHere"){ id } }}

  • Isso retornará nulo;

  • Verifique novamente com o nome de sua categoria traduzida, mas com a slugificação:

    { internal{ get(path: "yourTranslatedCategoryNameSlugified"){ id } }}

  • Isso retornará resultados.

  • Para links de produtos:**

    • Acesse a página do produto usando o link traduzido criado usando o graphQL do catálogo;
    • Será exibido um erro 404 Not Found.

Workaround

  • Para links de categoria:

    • Execute a seguinte consulta no rewriter:

      { internal{ get(path: "yourTranslatedLinkdId"){ id from declarer type query binding origin resolveAs } }}

  • Salve os valores retornados, pois você precisará usá-los na próxima etapa;

  • Execute a seguinte mutação, alterando apenas o parâmetro from; os outros devem ser iguais aos anteriores:

    mutation saveInternal($route: InternalInput!) { internal { save(route: $route) { from declarer type id binding resolveAs origin } }}{ "route": { "from": "yourLinkId", "declarer": "yourSavedDeclarer", "type": "yourSavedType", "binding": "yourSavedBinding", "id": "yourSavedId", "origin": "yourSavedOrigin", "resolveAs": "yourSavedResolveAs" }}

Para obter mais informações sobre esses parâmetros, consulte: https://developers.vtex.com/vtex-developer-docs/docs/rewriter

  • Agora, vamos excluir a rota antiga (a que foi salva com o nome)

    mutation saveInternal($route: InternalInput!) { internal { delete(path: "yourTranslatedLinkdId") { id } }}

  • Para links de produtos:

    • Execute a seguinte mutação alterando apenas o parâmetro from; os outros devem ser iguais aos anteriores:

      mutation saveInternal($route: InternalInput!) { internal { save(route: $route) { from declarer type id binding resolveAs origin } }}{ "route": { "from": "/yourTranslatedLinkdId/p", "declarer": "vtex.store@2.x", "type": "product", "id": "productId", "resolveAs": "/yourOrinalLinkdId/p", "binding": "bindingId" }}

Contribuidores
1
Photo of the contributor
+ 1 contributors
Isso foi útil?
Sim
Não
Sugerir edições (GitHub)
Contribuidores
1
Photo of the contributor
+ 1 contributors
Nesta página
Ainda tem dúvidas?
Pergunte à comunidade
Encontre soluções e compartilhe ideias na VTEX Community
Junte-se à nossa comunidade
Solicite suporte à VTEX
Receba assistência personalizada com nossos especialistas
Abra um ticket de suporte
GitHubDeveloper PortalComunidadeFeedback