Saltar al contenido principal

Introducción

Gestiona productos de comercio electrónico con catálogos dinámicos, filtrado y búsqueda.

🎯 ¿Qué hace este módulo?

El módulo Products (Catálogo) es un módulo independiente que te permite crear, recuperar, filtrar y gestionar productos en tu tienda en línea o colecciones multimedia. Proporciona herramientas muy flexibles para crear catálogos de productos o galerías multimedia con potentes funciones de búsqueda, filtros y organización.

El Catálogo permite crear, subir, editar y filtrar catálogos a través de una interfaz intuitiva. Más allá del comercio electrónico, admite aplicaciones alternativas como galerías multimedia, demostrando su versatilidad como herramienta de gestión de contenido.

Piénsalo como tu almacén digital: gestionas tu inventario de productos en el panel de administración de OneEntry (Catálogo > Productos), y tu aplicación recupera productos dinámicamente con potentes funciones de búsqueda, filtros y ordenación.

📖 Explicación Simple

Imagina que estás construyendo una tienda en línea que vende:

  • 👟 Zapatillas - con tamaños, colores, precios
  • 📱 Electrónica - con especificaciones, imágenes, reseñas
  • 👕 Ropa - con tamaños, materiales, variantes
  • 📚 Libros - con autores, precios, descripciones

✅ En lugar de codificar cada producto, tú:

  • Agregas productos en el panel de administración de OneEntry (con todos los detalles)
  • Recuperas productos dinámicamente usando este módulo
  • Filtras por categoría, rango de precios, disponibilidad
  • Buscas productos por nombre o descripción
  • Ordenas por precio, fecha, popularidad
  • Actualizas precios/inventario sin necesidad de redeplegar

Ejemplo del mundo real:

❌ Sin el Módulo de Productos (codificado):
- Agregar nuevo producto → Cambiar código → Desplegar
- Cambiar precio → Cambio de código → Desplegar
- 1000 productos = archivo de código masivo

✅ Con el Módulo de Productos (dinámico):
- Agregar nuevo producto → Actualizar en admin → En vivo instantáneamente
- Cambiar precio → Actualizar en admin → En vivo instantáneamente
- 10,000 productos = llamadas a API simples

✨ Conceptos Clave

¿Qué es un Producto?

Un producto es un artículo que vendes, que contiene:

  • Información básica - Nombre, descripción, SKU, precio
  • Imágenes - Fotos del producto, galería
  • Variantes - Tamaños, colores, opciones (por ejemplo, "Camiseta roja tamaño M")
  • Inventario - Cantidad en stock, disponibilidad
  • Atributos personalizados - Cualquier campo que definas (marca, material, peso, etc.)
  • SEO - Título meta, descripción, palabras clave
  • Estado - Activo, borrador, fuera de stock
  • Localización - Soporte multilingüe

Estructura del Producto

Los productos pueden tener diferentes estructuras:

TipoDescripciónEjemplo
Producto SimpleArtículo único, sin variantesLibro, Póster
Producto con VariantesMúltiples opciones (tamaño, color)Camiseta (S/M/L, Rojo/Azul)
Producto DigitalArtículos descargablesE-book, Software
PaqueteGrupo de productosPaquete de Inicio, Set de Regalo

Organización del Producto

Los productos se organizan a través de varias características clave:

  • Categorías - Organiza en secciones (Las categorías son páginas del tipo Catálogo creadas en el módulo Páginas)
  • Estados de Producto - Crea condiciones de filtrado adicionales más allá de los filtros de atributos existentes
  • Enlaces de Producto - Establece conexiones entre productos basadas en criterios de atributos
  • Filtros de Producto - Búsqueda rápida utilizando criterios de filtro especificados
  • Atributos personalizados - Marca, Tamaño, Color, Material, etc.

Ejemplo de jerarquía:

📁 Electrónica
├─ 📱 Smartphones
│ ├─ iPhone 15 Pro
│ └─ Samsung Galaxy S24
└─ 💻 Laptops
├─ MacBook Pro
└─ Dell XPS

📁 Ropa
├─ 👕 Camisetas
└─ 👖 Jeans

📋 Lo Que Necesitas Saber

Importante: Las categorías del catálogo son páginas del tipo Catálogo creadas a través del módulo Páginas. Debes crear las categorías del catálogo primero antes de agregar productos.

Características del Catálogo:

  • Pestaña de Productos - Espacio de trabajo principal para crear y gestionar elementos del catálogo
  • Filtros de Producto - Búsqueda rápida utilizando criterios especificados
  • Enlaces de Producto - Conectar productos basados en criterios de atributos (por ejemplo, todos los teléfonos negros)
  • Estados de Producto - Condiciones de filtrado adicionales para la organización
  • Carga de Catálogo - Importación masiva de datos del catálogo
  • Configuraciones - Opciones de configuración con campos de entrada numérica

Formas de Obtener Productos

MétodoCuándo UsarEjemplo
getProducts()Listar productos con filtros/búsquedaPágina del catálogo
getProductsByPageId()Productos de una categoría específica (por ID)Página de categoría
getProductsByPageUrl()Productos de una categoría específica (por URL)Página de categoría por URL
getProductById()Obtener un solo producto por IDPágina de detalles del producto
getRelatedProductsById()Obtener productos relacionados/similaresSección "También te puede gustar"
searchProduct()Buscar productos por consultaFuncionalidad de búsqueda

Paginación Explicada Simplemente

Cuando tienes 1000 productos, no los cargas todos a la vez:

Fórmula de desplazamiento: offset = (pageNumber - 1) * limit


Opciones de Ordenación

Ordena productos por diferentes campos:

sortKeyQué HaceEjemplo de Uso
priceOrdenar por precioMostrar los más baratos primero
dateOrdenar por fecha de creaciónMostrar los productos más nuevos
titleOrdenar alfabéticamenteLista de productos de la A a la Z
positionOrden personalizado (por defecto)Orden seleccionado por el administrador
idOrdenar por IDOrdenación técnica

Orden de clasificación:

  • ASC (Ascendente) - De bajo a alto (A→Z, 0→9, barato→caro)
  • DESC (Descendente) - De alto a bajo (Z→A, 9→0, caro→barato)

Filtrando Productos

Usa filtros para reducir los resultados:

Marcadores de condición:

MarcadorSignificadoEjemplo
eqIgual (coincidencia exacta)Precio = $50
neqNo igualEstado ≠ "agotado"
inContiene (uno de)Color en ["rojo", "azul"]
ninNo contieneCategoría no en ["archivada"]
mthMayor quePrecio > $100
lthMenor quePrecio < $50
exsExiste (tiene valor)Tiene descuento
nexsNo existe (vacío)Sin descuento

Estado del Producto y Enlaces

Estados de Producto crean condiciones de filtrado adicionales más allá de los filtros de atributos existentes para una organización de productos más sofisticada.

Enlaces de Producto permiten establecer conexiones entre productos basadas en criterios de atributos. Por ejemplo, puedes vincular todos los productos con el mismo atributo de color (por ejemplo, todos los teléfonos negros juntos).


📊 Tabla de Referencia Rápida - Métodos Comunes

MétodoDescripciónCaso de Uso
getProducts()Obtener todos los productos con filtrado/ordenaciónPágina principal del catálogo
getProductById()Obtener un solo producto por IDPágina de detalles del producto
getProductsByPageId()Obtener productos de la categoría por ID de páginaPágina de categoría
getProductsByPageUrl()Obtener productos de la categoría por URL de páginaPágina de categoría por URL
getRelatedProductsById()Obtener productos relacionados/similaresSección "También te puede gustar"
searchProduct()Buscar productos por consultaFuncionalidad de búsqueda
getProductsCount()Obtener el total de productosInformación de paginación
getProductsCountByPageId()Obtener el conteo de productos por ID de categoríaPaginación de categoría
getProductsCountByPageUrl()Obtener el conteo de productos por URL de categoríaPaginación de categoría
getProductBlockById()Obtener bloque de producto por IDBloques de contenido del producto
getProductsEmptyPage()Obtener estructura de página vacía de productosManejo de estado vacío
getProductsPriceByPageUrl()Obtener precios de productos por URL de páginaFiltrado de precios

❓ Preguntas Comunes (FAQ)

¿Puedo filtrar por múltiples criterios a la vez?

¡Sí! Combina múltiples filtros en un array.


¿Cómo manejo las variantes de productos (tamaños, colores)?

Las variantes de productos se almacenan en attributeValues.


¿Cómo implemento el botón "Cargar Más"?

Usa desplazamiento para cargar más productos.


¿Puedo mostrar productos de múltiples categorías?

Sí, usa el marcador de condición category in.


¿Cómo implemento la sección "Nuevas Llegadas"?

Ordena por fecha de creación o usa la categoría principal para ordenar manualmente.


💡 Notas Importantes

Importante: Antes de agregar productos, debes crear categorías de catálogo a través del módulo Páginas. Las categorías del catálogo son páginas del tipo Catálogo.

Flujo de trabajo:

  1. Ve al módulo Páginas en el panel de administración
  2. Crea páginas con tipo "Catálogo"
  3. Estas páginas se convierten en tus categorías de productos
  4. Agrega productos a estas categorías a través de Catálogo > Productos

El módulo Catálogo proporciona herramientas completas:

  • Pestaña de Productos - Espacio de trabajo principal para crear/gestionar elementos del catálogo
  • Filtros de Producto - Permiten búsquedas rápidas utilizando criterios especificados
  • Enlaces de Producto - Conectar productos relacionados basados en atributos
  • Estados de Producto - Crear condiciones de filtrado personalizadas
  • Carga de Catálogo - Importación masiva de productos
  • Configuraciones - Configurar el comportamiento del catálogo

Más Allá del Comercio Electrónico

El Catálogo no se limita a productos: puede ser utilizado para:

  • Galerías Multimedia - Fotos, videos, colecciones de arte
  • Elementos de Portafolio - Trabajos de diseño, estudios de caso
  • Bibliotecas de Documentos - Recursos, descargas
  • Catálogos de Eventos - Conferencias, seminarios web
  • Colecciones de Recetas - Comida, bebidas, cocina

Optimización del Rendimiento

Cachea productos de acceso frecuente para reducir llamadas a la API y mejorar los tiempos de carga.


Siempre Filtra Productos Activos

En producción, siempre muestra solo productos activos filtrando con statusId: 1.


Maneja Imágenes Faltantes

Proporciona imágenes de respaldo para productos sin imágenes para mantener una interfaz de usuario consistente.


🎓 Mejores Prácticas

  • Siempre usa paginación (límite + desplazamiento)
  • Filtra por statusId: 1 en producción
  • Cachea listas de productos para reducir llamadas a la API
  • Maneja "fuera de stock" de manera adecuada
  • Proporciona imágenes de respaldo
  • Usa marcadores para productos destacados (no IDs)
  • Implementa búsqueda con debouncing
  • Agrega estados de carga en la interfaz de usuario

Más información sobre el Catálogo en el panel de administración de OneEntry: https://doc.oneentry.cloudhttps://doc.oneentry.cloud/docs/category/catalog


Definición del módulo Products


const { Products } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);


Este módulo acepta un conjunto de parámetros de usuario llamados userQuery. Si los parámetros no se pasan al método, se aplicará el valor predeterminado. Algunos métodos aceptan el cuerpo como un parámetro para filtrar. Si no deseas configurar la ordenación, pasa un array vacío o no pases nada.

Parámetros:


const userQuery = {
offset: 0,
limit: 30,
sortOrder: 'DESC',
sortKey: 'id',
}

Esquema

offset: número
Parámetro de paginación. Predeterminado 0
ejemplo: 0

limit: número
parámetro de paginación. Predeterminado 30
ejemplo: 30

sortKey: cadena
Campo para ordenar (predeterminado no establecido - ordenando por posición, valores posibles: id, título, fecha, precio, posición)
Valores disponibles: id, posición, título, fecha, precio

sortOrder: cadena
orden de clasificación DESC | ASC (predeterminado DESC)
ejemplo: "DESC"

"conditionMarker" por el cual se filtran los valores (no establecido por defecto), valores posibles:

'in' - Contiene,
'nin' - No contiene,
'eq' - Igual,
'neq' - No igual,
'mth' - Mayor que,
'lth' - Menor que,
'exs' - Existe,
'nexs' - No existe


🔗 Documentación Relacionada