Introducción
Gestiona las páginas del sitio web y las pantallas de la aplicación móvil con contenido dinámico.
🎯 ¿Qué hace este módulo?
El módulo Pages te permite crear, recuperar y gestionar páginas (para sitios web) o pantallas (para aplicaciones móviles) con todo su contenido: texto, imágenes, configuraciones de SEO y atributos personalizados.
Piénsalo como tu sistema de gestión de contenido: en lugar de codificar las páginas de forma rígida, las gestionas en OneEntry y las recuperas dinámicamente en tu aplicación.
📖 Explicación Simple
Imagina que estás construyendo un sitio web con estas páginas:
- 🏠 Página de inicio - página principal de aterrizaje
- 📄 Sobre nosotros - información de la empresa
- 📞 Contacto - página del formulario de contacto
- 📝 Publicaciones del blog - múltiples páginas de artículos
- ❓ Preguntas frecuentes - centro de ayuda
En lugar de crear cada página manualmente en tu código, tú:
- ✅ Creas páginas en el panel de administración de OneEntry (con contenido, imágenes, SEO)
- ✅ Recuperas páginas dinámicamente usando este módulo
- ✅ Actualizas contenido sin volver a desplegar tu aplicación
- ✅ Gestionas la estructura de la página, URLs y metadatos en un solo lugar
Ejemplo del mundo real:
Sin el Módulo Pages (codificado):
- Editar página de inicio → Cambiar código → Probar → Desplegar → Esperar ❌
- 10 páginas = 10 archivos de código para gestionar ❌
- Cambios de SEO = cambios en el código ❌
Con el Módulo Pages (dinámico):
- Editar página de inicio → Actualizar en el panel de administración de OneEntry → En vivo al instante ✅
- 100 páginas = recuperar dinámicamente desde la API ✅
- Cambios de SEO = actualizar en el panel de administración ✅
✨ Conceptos Clave
¿Qué es una Página?
Una página es una entidad de contenido que representa:
- Web: Una página en tu sitio web (por ejemplo,
/about,/contact) - Móvil: Una pantalla en tu aplicación (por ejemplo, Pantalla de Perfil, Pantalla de Configuración)
Cada página contiene:
- Contenido - Texto, imágenes, videos
- URL - Dirección de la página (por ejemplo,
/about-us) - SEO - Título meta, descripción, palabras clave
- Atributos personalizados - Cualquier campo adicional que definas
- Estado - Publicada, borrador, archivada
- Localización - Soporte multilingüe
Tipos de Página
OneEntry soporta diferentes tipos de páginas:
| Tipo | Descripción | Ejemplo de Uso |
|---|---|---|
| Página Normal | Página estática estándar | Sobre, Contacto, Términos |
| Página de Error | Páginas de error 404, 500 | Página No Encontrada |
| Página del Sistema | Páginas especiales | Política de Privacidad, Cookies |
| Página de Plantilla | Estructura de página reutilizable | Plantilla de publicación de blog |
Jerarquía de Páginas
Las páginas pueden organizarse en una estructura de árbol:
📁 Empresa
├─ Sobre Nosotros
├─ Equipo
└─ Carreras
📁 Productos
├─ Categoría de Producto 1
│ ├─ Producto A
│ └─ Producto B
└─ Categoría de Producto 2
Por qué esto es importante: Puedes recuperar todas las páginas en una sección o construir menús de navegación automáticamente.
📋 Lo Que Necesitas Saber
Dos Maneras de Identificar Páginas
| Método | Cuándo Usar | Ejemplo |
|---|---|---|
| Por URL | El usuario visita una página específica | /about-us, /contact |
| Por ID | Referencias internas | 123, 456 |
Mejor práctica: Usa id en el código (no cambian), usa URLs para el enrutamiento.
Estructura de la Página
Cada página tiene estos campos clave:
{
"id": 9, // ID único
"parentId": 8, // ID del padre
"moduleFormConfigs": [], // Configuraciones del módulo de formularios
"pageUrl": "blog1", // URL de la página
"depth": 1, // profundidad
"localizeInfos": { // información de localización
"title": "Blog 1", // título
"menuTitle": "Blog 1", // título del menú
"htmlContent": "",
"plainContent": "",
},
"isVisible": true, // visibilidad
"blocks": [], // bloques
"type": "common_page", // tipo de página
"templateIdentifier": null, // identificador de plantilla
"attributeSetIdentifier": null, // identificador de conjunto de atributos
"attributeValues": {}, // valores de atributos
"isSync": false, // sincronización
}
Localización (Multilenguaje)
Las páginas soportan múltiples idiomas
¡La misma página, diferentes idiomas!
Atributos Personalizados
Puedes agregar cualquier campo a las páginas usando AttributesSets:
Ejemplos:
- Publicaciones del blog: autor, fecha de publicación, etiquetas, imagen destacada
- Páginas de productos: precio, SKU, galería, especificaciones
- Páginas de aterrizaje: imagen principal, botones de CTA, testimonios
Aprende más: Consulta el Módulo AttributesSets
📊 Tabla de Referencia Rápida - Métodos Comunes
| Método | Qué Hace | Cuándo Usar |
|---|---|---|
| getPages() | Obtener todas las páginas (paginadas) | Construir mapa del sitio, listar todas las páginas |
| getRootPages() | Obtener todas las páginas raíz (paginadas) | |
| getChildPagesByParentUrl() | Obtener todas las páginas hijas por ParentUrl (paginadas) | |
| getBlocksByPageUrl() | Obtener objetos PositionBlock para la página por URL. | Los bloques se utilizan para renderizar el contenido de la página. |
| getConfigPageByUrl() | Obtener configuraciones para la página por URL. | Las páginas de configuración se utilizan para almacenar configuraciones para la página. |
| getPageById() | Obtener una sola página. | Las páginas se utilizan para renderizar la página. |
| getPageByUrl() | Obtener una sola página por URL. | Las páginas se utilizan para renderizar la página. |
| searchPage() | Búsqueda rápida de páginas con salida limitada. | Buscar páginas por título, descripción, etiquetas, etc. |
❓ Preguntas Comunes (FAQ)
¿Cuál es la diferencia entre URL y Marcador?
-
URL (
pageUrl) - La dirección web que ven los usuarios (por ejemplo,/about-us,/contact)- Usado para el enrutamiento
- Amigable para el usuario
-
Marcador - Identificador técnico en el código (por ejemplo,
homepage,contact_page)- Usado en referencias de código
- Técnico, no visible para el usuario
💡 Notas Importantes
URLs de Páginas y Enrutamiento
Mejor práctica para el enrutamiento:
✅ Bueno: Ruta dinámica de captura total Ejemplo de Next.js: pages/[...slug].js
Caché para Rendimiento
Reduce las llamadas a la API con caché.
Previsualización de Borradores
Muestra páginas borrador solo a los administradores.
🎓 Mejores Prácticas
- Almacena en caché las páginas para reducir las llamadas a la API
- Maneja los errores 404 de manera elegante
- Filtra por
statusId: 1yisVisible: truepara producción - Agrega estados de carga en la interfaz de usuario
- Implementa una estrategia de caché de páginas
Más información sobre la interfaz de usuario del módulo https://doc.oneentry.cloud/docs/category/pages
Definición del módulo Pages
const { Pages } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
🔗 Documentación Relacionada
- Módulo de Productos - Gestiona productos de comercio electrónico
- Módulo de Bloques - Bloques de contenido reutilizables para páginas
- Módulo AttributesSets - Campos personalizados para páginas
- Módulo de Menús - Gestión de menús de navegación