> ## Documentation Index
> Fetch the complete documentation index at: https://docs-loja.usecorvex.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Templates de página

> templates/*.json — layout inicial de cada tipo de página ao instalar o tema.

Pasta: **`templates/`**

Define a **composição padrão** de cada tipo de página quando o tema é instalado na loja: quais sections aparecem e em qual ordem.

***

## Arquivos obrigatórios

A CLI exige estes cinco. Sem eles, `corvex validate` falha (`V2_REQUIRED_TEMPLATES` em `@corvex/theme-contract`).

| Arquivo | Tipo de página |
| - | - |
| `index.json` | Home |
| `product.json` | Detalhe do produto |
| `collection.json` | Listagem de coleção |
| `cart.json` | Carrinho |
| `search.json` | Busca |

## Arquivos recomendados

Não são exigidos pelo validador. O contrato também recomenda `404.json`.

| Arquivo | Tipo de página |
| - | - |
| `page.json` | Página de conteúdo |
| `blog.json` | Listagem do blog |
| `article.json` | Artigo |
| `404.json` | Página não encontrada |
| `password.json` | Senha da loja (gate na vitrine) |
| `maintenance.json` | Manutenção (gate na vitrine) |

Comportamento na vitrine publicada: [Páginas de sistema](https://docs-loja.usecorvex.com.br/guides/system-page-templates.md).

Páginas customizadas podem usar `page.{handle}.json` — ex.: `page.sobre.json`. A CLI reconhece esse sufixo ao descobrir templates do tipo página.

***

## Formato do template

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "name": "Página inicial",
  "type": "index",
  "sections": {
    "hero": {
      "type": "hero",
      "settings": {
        "title": "Bem-vindo à sua loja",
        "subtitle": "Comece personalizando este tema"
      }
    },
    "featured": {
      "type": "featured-products",
      "settings": { "title": "Destaques", "limit": 4 }
    }
  },
  "order": ["hero", "featured"]
}
```

| Campo | O que é |
| - | - |
| `name` | Nome exibido no Editor |
| `type` | Tipo de página (`index`, `product`, `collection`, …) |
| `sections` | Instâncias — cada chave é um ID único na página |
| `sections.*.type` | ID da section em `sections/{type}/` |
| `sections.*.settings` | Valores iniciais dos campos do schema |
| `order` | Ordem de renderização das instâncias |

Sections com blocks podem incluir `blocks` e `block_order` na instância — ver [Block Contract](https://docs-loja.usecorvex.com.br/reference/contracts/block.md).

***

## Variantes de template

A CLI trata o nome do arquivo pelo trecho antes do primeiro ponto, com uma exceção: `page.{handle}.json` vira uma página com esse handle. Exemplo: `page.sobre.json` publica a página de handle `sobre`.

`product.preorder.json` não vira um segundo template de produto. O mapa usa a base `product` e o arquivo compete com `product.json`. Não use esse sufixo.

***

## Na instalação do tema

Ao instalar o tema, a Corvex copia os templates do pacote como **layout inicial** da loja.

O lojista edita **instâncias** (settings, ordem, blocks) no Editor — não o arquivo `templates/product.json` do pacote original.

***

## Criar templates no Editor

Monte a página no Editor, salve o rascunho e replique a composição no JSON do template se quiser que novas instalações comecem com o mesmo layout.

Referência: scaffold oficial via `corvex init` — pasta `templates/`.

***

## Veja também

* [Arquitetura do tema](https://docs-loja.usecorvex.com.br/themes/structure.md)
* [Theme Contract](https://docs-loja.usecorvex.com.br/reference/contracts/theme.md)
* [Section Contract](https://docs-loja.usecorvex.com.br/reference/contracts/section.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.