Menus de navegação
Como a loja organiza os menus do cabeçalho, rodapé e barra lateral, qual menu a vitrine exibe em cada local e o mapa das rotas.
Os links do topo, do rodapé e da barra lateral da vitrine vêm de menus de navegação. Um menu tem um nome, um local (onde aparece) e uma árvore de itens (links para categorias, páginas, produtos ou endereços livres). O administrador monta os menus e a vitrine os lê em tempo real. Todas as rotas exigem token de administrador com o privilégio manage_layouts.
Como funciona
- Crie o menu
POST /api/v1/admin/navigation/menuscomnameelocation. - Adicione itens
POST /api/v1/admin/navigation/menus/{id}/itemspara cada link, comparent_item_idpara criar submenus. - Reordene
PUT .../menus/{id}/reordercom a lista de ids na ordem desejada. - Confira o que está no ar
GET /api/v1/admin/navigation/menuse veja qual menu de cada local temis_served: true.
Conceitos-chave
Locais
location | Onde aparece |
|---|---|
header | Menu principal do cabeçalho. |
header_account | Links da conta no cabeçalho. |
footer | Rodapé geral. |
footer_about, footer_help, footer_contact, footer_brands, footer_policies, footer_shop | Colunas temáticas do rodapé (institucional, ajuda, contato, marcas, políticas, loja). |
sidebar | Barra lateral. |
Tipos de item
item_type | Aponta para | Campos exigidos |
|---|---|---|
category | Uma categoria | reference_id (id da categoria, precisa existir) |
product | Um produto | reference_id (precisa existir) |
page | Uma página de conteúdo | reference_id (precisa existir) |
custom_link | Um endereço livre | url, começando com /, http:// ou https:// |
Menu em uso
Como só um menu por local é exibido, mantenha um menu ativo por local e use D para tirar do ar outros. A vitrine ignora itens desativados; a rota de administração mostra todos.
Endpoints
| Método | Caminho | Para que serve | Auth |
|---|---|---|---|
| GET | /api/v1/admin/navigation/menus | Listar menus | admin |
| POST | /api/v1/admin/navigation/menus | Criar menu | admin |
| GET | /api/v1/admin/navigation/menus/{id} | Consultar menu com itens | admin |
| PUT | /api/v1/admin/navigation/menus/{id} | Alterar menu | admin |
| DELETE | /api/v1/admin/navigation/menus/{id} | Excluir menu | admin |
| POST | /api/v1/admin/navigation/menus/{id}/items | Criar item | admin |
| PUT | /api/v1/admin/navigation/items/{id} | Alterar item | admin |
| DELETE | /api/v1/admin/navigation/items/{id} | Excluir item | admin |
| PUT | /api/v1/admin/navigation/menus/{id}/reorder | Reordenar itens | admin |
Erros comuns
- Criar um segundo menu ativo no mesmo local e não ver mudança. Só o primeiro por nome aparece. Desative o antigo ou renomeie.
- Usar um local que não está na lista. Retorna 500
invalid menu location. custom_linksem/ouhttp(s)://. Retorna 500invalid URL format.- Item de categoria, produto ou página sem
reference_id, ou com id inexistente. Retorna 500 com a mensagem do problema. - Colocar um item como filho dele mesmo ou de um descendente, ou passar de 5 níveis. Retorna 500
circular referenceounavigation depth exceeds maximum. - Reordenar só uma parte dos itens. Os itens não listados mantêm a posição antiga e podem colidir com as novas. Envie todos os ids do mesmo nível.