Introdução
🎯 O que este módulo faz?
O módulo Templates permite que você mude a estrutura e a aparência do seu projeto sem alterar seu código-fonte. Os templates permitem que você gerencie componentes através da Plataforma OneEntry, mantendo opções de design e comportamento flexíveis.
Os templates funcionam permitindo que você descreva componentes no código do seu projeto e, em seguida, os marque com templates criados pela plataforma. Essa separação permite alternar entre diferentes implementações de templates para influenciar como as entidades funcionam.
Pense nisso como seu configurador de sistema de design - você cria templates no painel de administração do OneEntry (Configurações > Templates), marca seus componentes com esses templates, e este módulo busca essas configurações para que seu aplicativo possa renderizar conteúdo dinamicamente com um estilo consistente.
📖 Explicação Simples
Toda aplicação precisa de uma apresentação de conteúdo consistente:
- 🖼️ Templates de Imagem - Tamanhos e cortes predefinidos (miniatura, herói, galeria)
- 📄 Templates de Página - Configurações de layout de página (postagem de blog, página de destino)
- 🧱 Templates de Bloco - Aparências de blocos de conteúdo (cartão, banner, seção)
- 🛍️ Templates de Produto - Formatos de exibição de produtos (grade, lista, detalhe)
- 🎨 Design Responsivo - Tamanhos diferentes para celular, tablet, desktop
- ♻️ Configs Reutilizáveis - Defina uma vez, use em toda parte
O problema com a lógica de exibição codificada:
Problemas:
- 🔒 Inconsistente - Tamanhos diferentes em lugares diferentes
- 🎨 Difícil de manter - Mudanças exigem edição de vários arquivos
- 📱 Não responsivo - Tamanhos fixos não se adaptam
- ♻️ Sem reutilização - Código duplicado em toda parte
A solução dos Templates:
Benefícios:
- 🔒 Consistente - Mesmo template usado em toda parte
- 🎨 Fácil manutenção - Mudança no painel de administração, aplica-se em toda parte
- 📱 Responsivo - Templates diferentes para telas diferentes
- ♻️ Reutilizável - Defina uma vez, use em todo o aplicativo
✨ Conceitos Chave
O que é um Template?
Um Template é uma configuração de exibição que define como o conteúdo deve aparecer:
- Tipo de Template - Template de imagem, página, bloco, produto
- Dimensões - Largura, altura, proporção
- Configurações de Corte - Como cortar imagens (centro, topo, fundo)
- Formato - Formato da imagem (JPEG, PNG, WebP)
- Qualidade - Qualidade de compressão
- Marcador - Identificador único para referência de código
Estrutura do Template
Cada template tem esta estrutura:
{
id: 1, // Identificador único
title: "Miniatura do Produto", // Nome do template (não único)
identifier: "product_thumbnail", // Marcador do template (único)
generalTypeId: 1, // Referência do ID do tipo
version: 0, // Número da versão
attributeSetIdentifier: null, // Conjunto de atributos associado
localizeInfos: { // Informações localizadas
en_US: {
title: "Miniatura do Produto",
description: "Imagem pequena do produto"
}
},
attributeValues: {}, // Dados adicionais de atributos
isActive: true, // Status ativo
createdAt: "2024-01-15T10:00:00Z",
updatedAt: "2024-01-15T10:00:00Z"
}
Campos Chave:
identifier- Marcador único para referência do template (use isso, não o ID)title- Nome do template exibido no painel de administraçãogeneralTypeId- Categoria da entidade à qual o template se aplicaattributeSetIdentifier- Conjunto de atributos associado opcional
Tipos de Template
Os templates são organizados por tipo de entidade e suportam as seguintes categorias:
| Tipo de Template | Categoria da Entidade | Exemplos de Casos de Uso |
|---|---|---|
| Blocos de Produto | forCatalogProducts | Grade de produtos, lista de produtos, produtos em destaque |
| Blocos Regulares | forOneBlock | Cartões de conteúdo, banners, seções, widgets |
| Páginas de Erro | forErrorPages | Página 404, página 500, layouts de erro personalizados |
| Páginas Regulares | forOnePage | Postagem de blog, página de destino, página sobre |
| Páginas de Produto | forOneProduct | Detalhe do produto, comparação de produtos |
| Páginas de Catálogo | forCatalogPage | Listagem de categorias, resultados de busca |
| Formulários | forForm | Formulário de contato, formulário de registro, pesquisa |
| Pedidos | forOrder | Confirmação de pedido, histórico de pedidos |
Templates de Imagem Comuns
| Template | Tamanho | Corte | Caso de Uso |
|---|---|---|---|
| Miniatura | 150×150 | Centro | Imagens de pré-visualização pequenas |
| Imagem de Cartão | 300×200 | Centro | Cartões de produtos, cartões de blog |
| Imagem Hero | 1920×1080 | Centro | Banners de largura total |
| Imagem de Galeria | 800×600 | Centro | Galerias de imagens |
| Avatar | 100×100 | Centro | Imagens de perfil de usuário |
| Hero Móvel | 768×432 | Centro | Banners otimizados para celular |
Fluxo de Trabalho de Configuração de Template
1. Crie templates no painel de administração
(Defina tamanhos, cortes, formatos)
↓
2. Busque templates via SDK
(Templates.getTemplates())
↓
3. Aplique configurações de template
(Use tamanhos na renderização de imagens)
↓
4. Imagens otimizadas automaticamente
(CDN OneEntry serve o tamanho correto)
↓
5. Exibição consistente em toda parte
(Mesmo template = mesma aparência)
Por que usar o módulo Templates?
| Benefício | Descrição |
|---|---|
| Design Consistente | Mesmos templates usados em todo o aplicativo |
| Fácil Manutenção | Mude o template na administração, atualiza em toda parte |
| Otimização de Imagem | Redimensionamento e compressão automáticos |
| Design Responsivo | Templates diferentes para telas diferentes |
| Integração CDN | Entrega otimizada de imagens |
| Configs Reutilizáveis | Defina uma vez, use em toda parte |
📋 O que você precisa saber
Templates são Criados no Painel de Administração
Você não pode criar templates via SDK - eles são criados no painel de administração do OneEntry:
Painel de Administração do OneEntry → Configurações → Templates → Criar Template → Definir Nome/Marcador/Tipo → Salvar
Processo de Criação:
- Forneça um Nome (identificador não único)
- Forneça um Marcador (identificador único)
- Selecione um Tipo (categoria da entidade à qual o template se aplica)
- Clique em "Criar" para finalizar
Operações de Gerenciamento:
- Configuração - Clique no ícone de engrenagem para editar nome, marcador ou tipo
- Exclusão - Selecione o template e clique no ícone de exclusão, depois confirme a remoção
O SDK é para buscar configurações de template, não para criá-las.
Identificação de Template
Três maneiras de identificar templates:
| Método | Quando Usar | Exemplo |
|---|---|---|
| Por Tipo | Referência no código (melhor prática) | product_thumbnail, hero_banner |
| Por Marcador | Referência no código (melhor prática) | product_thumbnail, hero_banner |
| Listar Todos | Mostrar templates disponíveis | getTemplates() |
Melhor prática: Sempre use marcadores no seu código (eles nunca mudam).
Integração de CDN de Template de Imagem
O OneEntry otimiza automaticamente as imagens com base nos templates.
Design Responsivo com Templates
Crie diferentes templates para diferentes tamanhos de tela.
Estrutura do Template:
interface ITemplateEntity {
id: number; // Identificador único
title: string; // Nome do template (não único)
identifier: string; // Marcador do template (único)
generalTypeId: number; // Referência do ID do tipo
version: number; // Número da versão
attributeSetIdentifier: string | null; // Conjunto de atributos associado
localizeInfos: { // Informações localizadas
[langCode: string]: {
title: string;
description?: string;
};
};
attributeValues: any; // Dados adicionais de atributos
isActive: boolean; // Status ativo
}
Tipos de Template Disponíveis:
forCatalogProducts- Blocos de produtoforOneBlock- Blocos regularesforErrorPages- Páginas de erroforOnePage- Páginas regularesforOneProduct- Páginas de produtoforCatalogPage- Páginas de catálogoforForm- FormuláriosforOrder- Pedidos