Introducción
Obtén los tipos de entidades a nivel de sistema que clasifican tus páginas, formularios, bloques y productos.
Más información sobre la interfaz de usuario del módulo: https://doc.oneentry.cloud/docs/attributes/types/#General-Type-Attributes
🎯 ¿Qué hace este módulo?
El módulo GeneralTypes te permite recuperar tipos de entidades a nivel de sistema - tipos de página, tipos de formulario, tipos de bloque y tipos de producto - que definen las categorías de contenido en tu proyecto OneEntry. OneEntry utiliza un conjunto fijo de tipos de sistema (BlockType) para clasificar páginas (common_page, catalog_page, external_page, error_page), formularios (form), bloques (common_block, product_block, slider_block, …) y productos (product, service). Este módulo es solo de lectura.
🚀 Inicio Rápido
Inicializa el módulo desde defineOneEntry:
const { GeneralTypes } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Obtén todos los tipos y úsalos:
// 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);
✨ Conceptos Clave
Sistema de Tipos
OneEntry clasifica cada entidad por un valor de BlockType:
| Entidad | Ejemplos de Tipos (BlockType) | Propósito |
|---|---|---|
| Páginas | common_page, catalog_page, external_page, error_page | Definir diseños y funcionalidades de página |
| Formularios | form | Categorizar propósitos de formularios |
| Bloques | common_block, product_block, slider_block | Bloques de construcción para páginas/productos |
| Productos | product, service | Clasificar inventario de productos |
Estructura de la Entidad de Tipo
Cada tipo devuelto por getAllTypes() es una GeneralTypeEntity:
interface GeneralTypeEntity {
id: number; // Unique numeric ID (e.g. 1, 2, 3)
type: BlockType; // Type name (e.g. "product", "common_page", "form")
}
📋 Lo Que Necesitas Saber
Los tipos son categorías de sistema predefinidas
No puedes crear tipos a través del SDK; son un conjunto fijo de categorías de sistema (BlockType) definidas por la plataforma. GeneralTypes solo recupera la lista de tipos presentes en tu proyecto. Toda la gestión de tipos ocurre en el panel de administración de OneEntry.
getAllTypes() devuelve TODOS los tipos de todas las entidades
El método devuelve una lista combinada de tipos de páginas, formularios, bloques, productos y cualquier otra entidad. No hay filtrado incorporado por categoría de entidad, así que filtra el resultado manualmente (por ejemplo, t.type.endsWith('_page')).
Tipo vs. Marcador vs. ID
| Identificador | Qué Es | Ejemplo | Mejor Para |
|---|---|---|---|
| Tipo | Categoría/clasificación de entidad | "catalog_page" | Filtrado y agrupamiento |
| Marcador | Identificador único legible por humanos | "my_about_page" | Recuperar entidades específicas |
| ID | Identificador numérico de base de datos | 42 | Uso interno del sistema |
Usa la cadena type en tu lógica de código (por ejemplo, if (page.type === 'catalog_page')) - es estable en todos los entornos, mientras que id puede diferir.
📊 Tabla de Referencia Rápida
| Método | Descripción | Caso de Uso |
|---|---|---|
| getAllTypes() | Recupera todos los tipos generales en el sistema | Población de menús desplegables, validación de tipos |
❓ Preguntas Comunes (FAQ)
¿Cómo creo nuevos tipos?
No puedes; los tipos son un conjunto fijo de categorías de sistema (BlockType) y el módulo es solo de lectura. Recupera los disponibles en tu proyecto con getAllTypes().
¿Cómo filtro tipos por entidad (páginas, formularios, productos)?
getAllTypes() devuelve todos los tipos de todas las entidades. Filtra el resultado manualmente, por ejemplo types.filter(t => t.type.endsWith('_page')).
¿Puedo actualizar o eliminar tipos a través del SDK?
No. El módulo GeneralTypes es solo de lectura; toda la gestión de tipos ocurre en el panel de administración de OneEntry.
¿Cuál es la diferencia entre el ID de tipo y el nombre de tipo?
Usa la cadena type para tu lógica de código y comparaciones (estable en todos los entornos). El número id es para referencias internas de la base de datos y puede cambiar entre proyectos.
¿Puedo almacenar en caché la lista de tipos?
Sí; los tipos rara vez cambian, por lo que se recomienda el almacenamiento en caché.
🎓 Mejores Prácticas
- Recupera tipos dinámicamente - no codifiques listas de tipos.
- Usa la cadena
type, no elid- los nombres de tipo son estables en todos los entornos. - Filtra manualmente -
getAllTypes()devuelve los tipos de cada entidad en una lista. - Almacena la lista en caché - rara vez cambia.
- Maneja tipos desconocidos de manera elegante - proporciona un renderizado de respaldo.
🔗 Documentación Relacionada
- Módulo de Páginas - Páginas clasificadas por tipo
- Módulo de Formularios - Formularios clasificados por tipo
- Módulo de Bloques - Bloques clasificados por tipo
- Módulo de Productos - Productos clasificados por tipo