Introducción
Obtén plantillas de vista previa que estandarizan el tamaño y formato de las imágenes para los atributos de producto.
Más información sobre las plantillas de vista previa en el panel de administración de OneEntry: https://doc.oneentry.cloud/docs/templates/templates_preview/
🎯 ¿Qué hace este módulo?
El módulo TemplatePreviews te permite estandarizar los parámetros de imagen en tu proyecto. Al aplicar plantillas de vista previa a atributos de "Imagen" o "Grupo de Imágenes", entregas imágenes dimensionadas y recortadas de manera consistente según la configuración de la plantilla, abarcando imágenes de productos, imágenes de variantes e imágenes basadas en atributos.
Creas plantillas de vista previa en el panel de administración de OneEntry (Configuración > Plantillas de Vista Previa), y este módulo obtiene esas configuraciones para que los atributos de producto con imágenes se rendericen de manera consistente. El SDK es de solo lectura: no puedes crear plantillas de vista previa a través de él.
🚀 Inicio Rápido
Inicializa el módulo desde defineOneEntry:
const { TemplatePreviews } = defineOneEntry( "your-project-url", { "token": "your-app-token" });
Obtén plantillas de vista previa y lee sus proporciones:
// Fetch all preview templates, localized to English.
const previews = await TemplatePreviews.getTemplatePreviews("en_US");
previews.forEach((tpl) => {
console.log(tpl.identifier, tpl.title, tpl.proportions.default.square);
});
// Or fetch a single preview template by its marker.
const swatch = await TemplatePreviews.getTemplatePreviewByMarker("color_swatch", "en_US");
console.log(swatch.proportions.default.horizontal);
✨ Conceptos Clave
¿Qué es una Plantilla de Vista Previa?
Una Plantilla de Vista Previa (ITemplatesPreviewEntity) es una configuración de imagen para atributos de producto:
- Marcador (
identifier) - Identificador único para referencia de plantilla (usa esto, no el ID) - Título (
title) - Nombre de la plantilla mostrado en el panel de administración (no único) - Proporciones (
proportions) - Conjuntos de parámetros de imagen por orientación (horizontal, vertical, cuadrada) - Alineación (
alignmentType) - Cómo se recortan/centran las imágenes
Estructura de la Plantilla de Vista Previa
interface ITemplatesPreviewEntity {
id: number;
title: string;
proportions: {
default: {
horizontal: IProportion | null; // { width, height, alignmentType }
vertical: IProportion | null; // { width, height, alignmentType }
square: ISquare; // { side, alignmentType }
};
};
identifier: string;
version: number;
attributeValues: IAttributeValues;
position: number;
isUsed: boolean;
attributeSetIdentifier?: string | null;
}
Un valor de ejemplo de proporciones:
{
default: {
horizontal: { width: 234, height: 324, alignmentType: "middleBottom" },
vertical: { width: 2, height: 3, alignmentType: "leftTop" },
square: { side: 3, alignmentType: "leftTop" },
},
}
Flujo de Trabajo de la Plantilla de Vista Previa
1. Create preview template in admin panel
(Define proportions for attribute images)
↓
2. Assign template to an attribute type
(e.g., "Color" attribute uses "color_swatch")
↓
3. Fetch templates via SDK
(TemplatePreviews.getTemplatePreviews())
↓
4. Apply proportions to attribute images
(Render images with consistent sizing)
↓
5. Consistent attribute image display
(All color swatches same size)
📋 Lo Que Necesitas Saber
Las plantillas de vista previa se crean en el panel de administración
No puedes crear plantillas de vista previa a través del SDK - se crean en el panel de administración de OneEntry (Configuración > Plantillas de Vista Previa). Cada plantilla necesita un Nombre (no único) y un Marcador único, además de conjuntos de proporciones para tres orientaciones de imagen:
- Horizontal - ancho, alto, tipo de alineación
- Vertical - ancho, alto, tipo de alineación
- Cuadrada - longitud del lado, tipo de alineación
El SDK es para obtener configuraciones de plantillas de vista previa, no para crearlas.
Usa marcadores, no IDs
Referencia las plantillas de vista previa por su marcador (identifier) en tu código - los marcadores son estables a través de entornos. Usa getTemplatePreviewByMarker(marker) para una plantilla única y getTemplatePreviews() para todas ellas.
TemplatePreviews vs Plantillas
TemplatePreviews son específicamente para imágenes de atributos de producto:
| Característica | TemplatePreviews | Plantillas |
|---|---|---|
| Propósito | Vistas previas de imágenes de atributos | Visualización de contenido general |
| Caso de Uso | Muestras de color, vistas previas de material | Imágenes principales, diseños de productos |
| Alcance | Solo atributos de producto | Páginas, bloques, productos |
Mejor práctica: Usa TemplatePreviews para imágenes de atributos, Plantillas para contenido general.
Caché
Las plantillas de vista previa rara vez cambian - almacénalas en caché (localStorage/sessionStorage en el frontend, Redis/memoria en el backend; ~1 hora de TTL es un punto de partida razonable).
📊 Tabla de Referencia Rápida
| Método | Descripción | Caso de Uso |
|---|---|---|
| getTemplatePreviews() | Obtener todas las plantillas de vista previa | Listar todas las plantillas de atributos disponibles |
| getTemplatePreviewByMarker() | Obtener una plantilla de vista previa por marcador | Obtener una configuración de plantilla específica |
❓ Preguntas Comunes (FAQ)
¿Cuál es la diferencia entre TemplatePreviews y Plantillas?
TemplatePreviews son específicamente para imágenes de atributos de producto (muestras de color, vistas previas de material), mientras que las Plantillas manejan la visualización de contenido general (páginas, bloques, productos). Usa TemplatePreviews solo para imágenes específicas de atributos.
¿Cómo configuro diferentes tamaños para imágenes horizontales, verticales y cuadradas?
En el panel de administración, configura las tres orientaciones para cada plantilla de vista previa. El sistema detecta la orientación de una imagen y aplica el conjunto de proporciones correspondiente (horizontal, vertical o square).
¿Puedo asignar diferentes plantillas de vista previa a diferentes tipos de atributos?
Sí. Crea múltiples plantillas de vista previa con diferentes marcadores (por ejemplo, color_swatch, material_preview, pattern_thumbnail) y asigna cada una al tipo de atributo correspondiente para un renderizado consistente.
¿Cómo aplico una plantilla de vista previa a las imágenes de atributos?
Obtén la plantilla a través de getTemplatePreviewByMarker() y usa sus proporciones para renderizar imágenes de atributos con un tamaño consistente. La asignación de una plantilla a un tipo de atributo se realiza en el panel de administración.
🎓 Mejores Prácticas
- Usa marcadores, no IDs - los marcadores son estables a través de entornos.
- Usa marcadores semánticos -
color_swatch, nopreview_1. - Mapea atributos a plantillas - mantén una plantilla por tipo de atributo para consistencia.
- Almacena en caché las plantillas de vista previa - reduce las llamadas a la API para datos que cambian raramente.
🔗 Documentación Relacionada
- Panel de Administración de OneEntry - Plantillas de Vista Previa - Documentación oficial del panel de administración
- Módulo de Plantillas - Plantillas de contenido general
- Módulo de Atributos - Configuración de atributos de producto
- Módulo de Productos - Productos con atributos
- Mejores Prácticas de Optimización de Imágenes