Skip to main content

List Banners

Widget configurable y dinámico que renderiza un carrusel o listado de banners interactivo en la web. Es idóneo para páginas de aterrizaje (landing pages), secciones promocionales de la Home o categorías destacadas, permitiendo modificar el número de columnas responsive, las flechas de control, los estilos de botones (colores default/hover) y la visibilidad de manera centralizada en el JSON.


Vista previa

Carrusel de banners promocionales


Comportamiento

  • Carrusel Adaptable: Permite especificar cuántos banners se muestran simultáneamente en pantallas de móvil, tablet y escritorio a través del objeto visible_items.
  • Estilos a Medida: Se pueden personalizar los colores de fondo, texto y bordes (tanto en estado normal como en hover) para cada botón de los banners individuales.
  • Alineación Flex: Los botones de llamada a la acción (CTA) se pueden posicionar dinámicamente en una cuadrícula de 9 posiciones (ejes vertical y horizontal) superpuesta en el banner.
  • Soporte de Navegación: Dispone de flechas laterales (personalizables en color y fondo) e indicadores de paginación inferiores (dots) configurables a nivel global en el widget.
  • Compatibilidad con Enlaces: Cada banner es completamente cliqueable y soporta tanto direcciones de navegación tradicionales como las expresiones dinámicas de Salesforce Commerce Cloud (SFCC):
    • Búsquedas y categorías: $url('Search-Show', 'cgid', 'ID_CATEGORIA')$
    • Productos: $url('Product-Show', 'pid', 'ID_PRODUCTO')$
    • Páginas de contenido (assets): $url('Page-Show', 'cid', 'ID_PAGINA')$

Configuración

Content Asset

El content asset se configura mediante un JSON en Business Manager → Content Assets con el ID de recurso correspondiente (por ejemplo, home-list-banners).

{
"fullwidth": false,
"title": {
"visible": true,
"tag": "p",
"text": "Colección de Banners Promocionales",
"link": {
"url": "$url('Search-Show', 'cgid', 'bestsellers')$",
"target": "_self"
}
},
"options": {
"controls": {
"visible": true,
"color": {
"arrow": "#000000",
"background": "#FFFFFF"
}
},
"navigation": {
"visible": true
},
"visible_items": {
"mobile": 1,
"tablet": 2,
"desktop": 3
}
},
"items": [
{
"visible": true,
"title": "Unisex Essentials",
"image": "images/banners/unisex-essentials.jpg?$staticlink$",
"link": {
"url": "$url('Search-Show', 'cgid', 'gafas-sol-unisex')$",
"target": "_self"
},
"button": {
"visible": true,
"text": "EXPLORAR",
"position": {
"vertical": "bottom",
"horizontal": "center"
},
"color": {
"text": {
"default": "#000000",
"hover": "#FFFFFF"
},
"background": {
"default": "#FFFFFF",
"hover": "#000000"
},
"border": {
"default": "#000000",
"hover": "#FFFFFF"
}
}
}
},
{
"visible": true,
"title": "Urban Shades",
"image": "images/banners/urban-shades.jpg?$staticlink$",
"link": {
"url": "$url('Search-Show', 'cgid', 'gafas-sol-urban')$",
"target": "_self"
}
}
]
}

Propiedades

PropiedadTipoObligatorioDescripción
fullwidthbooleanSi es true, el widget se expande al 100% de la pantalla. Si es false, se enmarca dentro de un contenedor centrado con márgenes.
titleobjectNoConfiguración del encabezado o título del carrusel.
title.visiblebooleanDetermina si el título principal es visible.
title.tagstringNoEtiqueta HTML para el título (ej. "p", "h2", "h3"). Por defecto suele ser "p".
title.textstringEl texto visible del título principal.
title.linkobjectNoEnlace opcional aplicado sobre el título.
title.link.urlstringDirección de destino. Admite expresiones $url de SFCC.
title.link.targetstringNoComportamiento del enlace al pulsar ("_self" o "_blank").
optionsobjectOpciones globales del comportamiento y visualización del carrusel.
options.controlsobjectNoAjustes de las flechas laterales de navegación.
options.controls.visiblebooleanMuestra u oculta las flechas laterales de cambio de slide.
options.controls.colorobjectNoPaleta de colores de los botones de las flechas.
options.controls.color.arrowstringColor de la flecha en formato hexadecimal (ej. "#000000").
options.controls.color.backgroundstringColor de fondo del círculo/botón de la flecha (hexadecimal).
options.navigationobjectNoAjustes de paginación por puntos (dots) en la parte inferior.
options.navigation.visiblebooleanMuestra u oculta los puntos de paginación inferiores.
options.visible_itemsobjectElementos mostrados simultáneamente según la resolución de pantalla.
options.visible_items.mobilenumberNúmero de banners visibles en dispositivos móviles (ej. 1).
options.visible_items.tabletnumberNúmero de banners visibles en tablets (ej. 2).
options.visible_items.desktopnumberNúmero de banners visibles en ordenadores (ej. 3 o 4).
itemsarrayListado de elementos individuales (banners) que se incluirán en el carrusel.
items[].visiblebooleanPermite apagar (false) u ocultar un banner específico sin borrar su configuración del JSON.
items[].titlestringNoTítulo principal superpuesto sobre el propio banner.
items[].imagestringRuta a la imagen del banner. Debe finalizar con ?$staticlink$.
items[].linkobjectEnlace principal al pulsar en el cuerpo del banner.
items[].link.urlstringURL de destino (admite $url de SFCC).
items[].link.targetstringNoAtributo target ("_self" o "_blank").
items[].buttonobjectNoConfiguración de botón CTA superpuesto en el banner.
items[].button.visiblebooleanSi es true, muestra un botón físico. Si es false, todo el banner es interactivo pero no muestra botón.
items[].button.textstringEtiqueta o texto legible en el interior del botón.
items[].button.positionobjectNoConfiguración de coordenadas de renderizado del botón sobre el banner.
items[].button.position.verticalstringEje vertical: "top" | "center" | "bottom".
items[].button.position.horizontalstringEje horizontal: "left" | "center" | "right".
items[].button.colorobjectNoPaleta de colores detallada para estados normal y hover del botón.
items[].button.color.text.defaultstringColor del texto del botón por defecto (hexadecimal).
items[].button.color.text.hoverstringColor del texto del botón en estado hover (hexadecimal).
items[].button.color.background.defaultstringColor de fondo del botón por defecto.
items[].button.color.background.hoverstringColor de fondo del botón en estado hover.
items[].button.color.border.defaultstringColor de la línea de borde por defecto.
items[].button.color.border.hoverstringColor de la línea de borde en estado hover.

Notas y consejos

Ficheros

content/listBanners.isml

Imágenes locales

Para resolver correctamente la ruta estática desde los recursos locales del cartucho, recuerda añadir ?$staticlink$ al final del valor en la propiedad image.

"image": "images/banners/unisex-essentials.jpg?$staticlink$"
Enlaces dinámicos ($url)

Se recomienda encarecidamente utilizar las expresiones de $url dinámicas para las categorías y páginas internas. Esto asegura que la navegación no se rompa al migrar cambios de datos entre los entornos de Staging, Sandbox o Producción.

Formato de colores

Todos los campos de color deben especificarse obligatoriamente en formato hexadecimal (ej. "#FFFFFF" o "#000000"). El uso de nombres de color HTML (como white, black o red) puede causar inconsistencias o fallos de renderizado según los estilos del cartucho.