Referência de todas as páginas que o sistema espera, com as variáveis específicas de cada uma.
O sistema de templates da CentralCart espera que determinados arquivos HTML existam na pasta pages/ do template. Cada rota da loja é mapeada para uma página específica, e algumas recebem variáveis adicionais além das variáveis globais.
Rota:/Página inicial da loja. Não recebe variáveis adicionais além das globais. Use a tag load para carregar pacotes, widgets e outros dados dinâmicos.
Rota:/category/:slugPágina de uma categoria específica.Variáveis adicionais:
Variável
Tipo
Descrição
category
object
Dados da categoria
category.id
number
ID da categoria
category.name
string
Nome da categoria
category.slug
string
Slug da categoria
category.image
string
URL da imagem (pode ser null)
category.banner
string
URL do banner (pode ser null)
category.parent_id
number
ID da categoria pai (null quando a categoria não é subcategoria)
category.sub_categories
array
Subcategorias visíveis. O primeiro item é a própria categoria (ver abaixo)
category.packages_count
number
Quantidade de pacotes ativos na categoria, sem considerar estoque
category.sub_categories traz a própria categoria como primeiro item. Para listar só as subcategorias, filtre pelo id:
<% assign subs = category.sub_categories | where_exp: "sub", "sub.id != category.id" %>.
Subcategorias marcadas como escondidas não entram na lista.
<% layout 'layouts/main' %><h1><%= category.name %></h1><% if category.sub_categories.size > 0 %> <nav class="subcategories"> <% for sub in category.sub_categories %> <a href="/category/<%= sub.slug %>"><%= sub.name %></a> <% endfor %> </nav><% endif %><% load packages category_id: category.id %><div class="products"> <% for package in packages.data %> <a href="/package/<%= package.slug %>"> <h3><%= package.name %></h3> <span><%= package.pricing.price | format_price %></span> </a> <% endfor %></div>
Se a categoria não existir, o sistema retorna 404 automaticamente.
Categorias grandes devem ser montadas em páginas: carregue a primeira no servidor e busque as seguintes com page, pela tag ou pela rota /search. O limit vai até 250 por página.A query string da página chega no template em query, então a mesma página atende uma busca dentro da categoria (/category/acao?q=ghost&order_by=price:asc):
Para buscar na categoria e nas subcategorias de uma vez, passe os ids separados por vírgula em category_id. Cada pacote traz o seu category_id, o que permite separar o resultado por subcategoria:
Rota:/searchPágina de resultados de busca. Os parâmetros da query string são passados automaticamente para a busca, com os mesmos nomes da tag load packages. O limit vai até 250 por página: para listas maiores, busque as páginas seguintes com page.Variáveis adicionais:
Rota:/loginPágina de login do cliente. O fluxo de autenticação é gerenciado pelo script da CentralCart.
<% layout 'layouts/main' %><div class="login-page"> <h1>Entrar na sua conta</h1> <!-- O formulário de login é gerenciado pelo centralcart_script --></div>
Página exibida quando uma rota não é encontrada. Não recebe variáveis adicionais.
<% layout 'layouts/main' %><div class="not-found"> <h1>Página não encontrada</h1> <p>A página que você procura não existe.</p> <a href="/">Voltar para o início</a></div>