Skip to content

URLs e navegação ​

URLs públicas ​

Links e formulários internos devem passar caminhos root-relative pelo filtro storefront_url:

liquid
<a href="{{ product.url | storefront_url }}">{{ product.name }}</a>
<a href="{{ category.url | storefront_url }}">{{ category.name }}</a>
<form method="get" action="{{ '/busca' | storefront_url }}">

O filtro mantém a raiz no storefront público e aplica o namespace temporário no laboratório e no editor. Não forneça caminhos com .., //, domínio ou protocolo; URLs externas devem permanecer explícitas e não são modificadas.

As URLs resultantes seguem o contrato público:

text
/
/produto/{slug ou id}
/categoria/{slug ou id}
/pagina/{slug}
/blog/
/blog-post/{slug}
/afiliado/{id ou identificador}

O blog público usa as tabelas históricas loja_blog e loja_blog_post da loja resolvida pelo domínio. As duas páginas do blog são renderizadas pelo Node com apresentação própria; não recebem objetos Liquid nem usam templates do tema V3. Um tema pode apontar para {{ '/blog/' | storefront_url }}. Na prévia do editor, o link recebe o namespace temporário, mas a prévia navegável do blog ainda não é oferecida; consulte a vitrine pública para conferir os artigos publicados.

O link de afiliado redireciona para a home e atribui a indicação ao comprador na vitrine pública. A prévia do tema não simula o cookie nem o vínculo de indicação. O tema pode usar uma URL recebida da aplicação, mas não deve gerar identificadores de afiliado a partir de dados Liquid.

Rotas /api/storefront/... são infraestrutura interna do servidor e não devem aparecer como destino público no HTML do tema. Não presuma outras APIs.

O domínio da loja é resolvido pelo servidor a partir do Host. Um tema nunca deve inventar um domínio, incluir id_loja em uma URL pública ou usar /api/storefront/* como navegação. Links públicos devem permanecer relativos ao domínio atual.

Temas V3 · Liquid estrutura, CSS desenha, JSON compõe.