Introdução
Recupere os tipos de entidades em todo o sistema que classificam suas páginas, formulários, blocos e produtos.
Mais informações sobre a interface do usuário do módulo: https://doc.oneentry.cloud/docs/attributes/types/#General-Type-Attributes
🎯 O que este módulo faz?
O módulo GeneralTypes permite que você recupere tipos de entidades em todo o sistema - tipos de página, tipos de formulário, tipos de bloco e tipos de produto - que definem as categorias de conteúdo em seu projeto OneEntry. O OneEntry usa um conjunto fixo de tipos de sistema (BlockType) para classificar páginas (common_page, catalog_page, external_page, error_page), formulários (form), blocos (common_block, product_block, slider_block, …) e produtos (product, service). Este módulo é somente leitura.
🚀 Início Rápido
Inicialize o módulo a partir de defineOneEntry:
const { GeneralTypes } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Recupere todos os tipos e use-os:
// Returns a combined list of types across all entities.
const types = await GeneralTypes.getAllTypes();
// e.g. [{ id: 1, type: "product" }, { id: 2, type: "common_page" }, ...]
// Filter manually - there is no built-in per-entity filter.
const pageTypes = types.filter((t) => t.type.endsWith("_page"));
console.log(pageTypes);
✨ Conceitos Chave
Sistema de Tipos
O OneEntry classifica cada entidade por um valor de BlockType:
| Entidade | Tipos de Exemplo (BlockType) | Propósito |
|---|---|---|
| Páginas | common_page, catalog_page, external_page, error_page | Definir layouts e funcionalidades de página |
| Formulários | form | Categorizar propósitos de formulários |
| Blocos | common_block, product_block, slider_block | Blocos de construção para páginas/produtos |
| Produtos | product, service | Classificar inventário de produtos |
Estrutura da Entidade de Tipo
Cada tipo retornado por getAllTypes() é uma GeneralTypeEntity:
interface GeneralTypeEntity {
id: number; // Unique numeric ID (e.g. 1, 2, 3)
type: BlockType; // Type name (e.g. "product", "common_page", "form")
}
📋 O Que Você Precisa Saber
Tipos são categorias de sistema pré-definidas
Você não cria tipos via SDK - eles são um conjunto fixo de categorias de sistema (BlockType) definidas pela plataforma. O GeneralTypes apenas recupera a lista de tipos presentes em seu projeto. Todo o gerenciamento de tipos acontece no painel de administração do OneEntry.
getAllTypes() retorna TODOS os tipos em todas as entidades
O método retorna uma lista combinada de tipos de páginas, formulários, blocos, produtos e quaisquer outras entidades. Não há filtragem embutida por categoria de entidade, então filtre o resultado manualmente (por exemplo, t.type.endsWith('_page')).
Tipo vs. Marcador vs. ID
| Identificador | O que é | Exemplo | Melhor para |
|---|---|---|---|
| Tipo | Categoria/classificação da entidade | "catalog_page" | Filtragem e agrupamento |
| Marcador | Identificador único legível por humanos | "my_about_page" | Recuperação de entidades específicas |
| ID | Identificador numérico do banco de dados | 42 | Uso interno do sistema |
Use a string type em sua lógica de código (por exemplo, if (page.type === 'catalog_page')) - ela é estável entre ambientes, enquanto id pode diferir.
📊 Tabela de Referência Rápida
| Método | Descrição | Caso de Uso |
|---|---|---|
| getAllTypes() | Recupera todos os tipos gerais no sistema | Preencher dropdowns, validar tipos |
❓ Perguntas Comuns (FAQ)
Como eu crio novos tipos?
Você não pode - os tipos são um conjunto fixo de categorias de sistema (BlockType) e o módulo é somente leitura. Recupere os disponíveis em seu projeto com getAllTypes().
Como eu filtro tipos por entidade (páginas, formulários, produtos)?
getAllTypes() retorna todos os tipos em todas as entidades. Filtre o resultado manualmente, por exemplo types.filter(t => t.type.endsWith('_page')).
Posso atualizar ou excluir tipos via SDK?
Não. O módulo GeneralTypes é somente leitura - todo o gerenciamento de tipos acontece no painel de administração do OneEntry.
Qual é a diferença entre ID de tipo e nome de tipo?
Use a string type para sua lógica de código e comparações (estável entre ambientes). O número id é para referências internas do banco de dados e pode mudar entre projetos.
Posso armazenar em cache a lista de tipos?
Sim - os tipos raramente mudam, então o armazenamento em cache é recomendado.
🎓 Melhores Práticas
- Recupere tipos dinamicamente - não codifique listas de tipos.
- Use a string
type, não oid- os nomes dos tipos são estáveis entre ambientes. - Filtre manualmente -
getAllTypes()retorna os tipos de cada entidade em uma lista. - Armazene a lista em cache - ela raramente muda.
- Trate tipos desconhecidos de forma elegante - forneça renderização de fallback.
🔗 Documentação Relacionada
- Módulo de Páginas - Páginas classificadas por tipo
- Módulo de Formulários - Formulários classificados por tipo
- Módulo de Blocos - Blocos classificados por tipo
- Módulo de Produtos - Produtos classificados por tipo