Pular para o conteúdo principal

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:

EntidadeTipos de Exemplo (BlockType)Propósito
Páginascommon_page, catalog_page, external_page, error_pageDefinir layouts e funcionalidades de página
FormuláriosformCategorizar propósitos de formulários
Blocoscommon_block, product_block, slider_blockBlocos de construção para páginas/produtos
Produtosproduct, serviceClassificar 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

IdentificadorO que éExemploMelhor para
TipoCategoria/classificação da entidade"catalog_page"Filtragem e agrupamento
MarcadorIdentificador único legível por humanos"my_about_page"Recuperação de entidades específicas
IDIdentificador numérico do banco de dados42Uso 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étodoDescriçãoCaso de Uso
getAllTypes()Recupera todos os tipos gerais no sistemaPreencher 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 o id - 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