Ir al contenido

Carrusel de Especificaciones

Fichas de especificación con ícono. Se suele mostrar como carrusel o como grilla de tarjetas pequeñas.

En el paneltipo en el JSONToken de la clave
Carrusel de EspecificacionesSPECSspecs
{
tipo: 'SPECS';
titulo: string | null;
items: Array<{
imagen: { url: string; alt: string | null } | null;
titulo: string; // requerido
descripcion: string; // requerido
orden: number;
}>;
}
{
"specs-product-333333174-cmqyi38ba0001b32c1hs2fb74": {
"tipo": "SPECS",
"titulo": "Especificaciones",
"items": [
{
"imagen": { "url": "https://cdn.example.com/icono-peso.svg", "alt": null },
"titulo": "Peso",
"descripcion": "1,2 kg",
"orden": 0
},
{
"imagen": null,
"titulo": "Garantía",
"descripcion": "12 meses",
"orden": 1
}
],
"estado": { "lifecycle": "active", "storefrontVisible": true },
"orden": 3
}
}
function renderFicha(item) {
return `<li class="sectionfy-spec">
${
item.imagen
? `<img src="${item.imagen.url}"
alt="${escapar(item.imagen.alt ?? '')}"
width="48" height="48" loading="lazy">`
: ''
}
<h3>${escapar(item.titulo)}</h3>
<p>${escapar(item.descripcion)}</p>
</li>`;
}
  • El ícono viene en el item. No lo busques en un mapa externo por nombre: usa item.imagen.url directamente.
  • imagen puede ser null. Diseña la ficha para que se sostenga sin ícono, o reserva el espacio con un placeholder.
  • titulo y descripcion son requeridos: no necesitas guardar contra null.
  • El encabezado de la sección es el nombre editable de la sección (nombre_personalizado en el envelope), no un título propio del tipo. Si el comerciante no lo cambió, la sección se muestra como Especificaciones.
  • El texto puede ser largo y no viene recortado. La API no impone un máximo de líneas ni una altura de ficha. Si las maquetas en fila, dale a la fila la altura de su ficha más alta (por ejemplo con align-items: stretch en un contenedor flex) en vez de fijar una altura: así el texto largo hace crecer la fila y ninguna ficha corta su contenido.
  • No confundir con FAQS de Especificaciones, que es otro tipo con items de pregunta/respuesta.