Características

  • Barra de avisos que el servidor pinta en page_top o page_bottom: hasta 5 mensajes que rotan, se pausan con el ratón, el foco o un botón, y se pueden cerrar
  • Cuenta atrás por mensaje hasta un final fijo igual para todos; al llegar a cero el mensaje desaparece y sin JavaScript se ve la fecha de fin
  • Hasta 3 ventanas emergentes como diálogos modales nativos: imagen guardada como archivo gestionado, cupón con botón de copiar, Esc y foco devuelto
  • Se abren tras unos segundos, al desplazarse o al ir a salir; en cada página, una vez por visita o cada N días, recordado solo en el navegador
  • Hasta 6 botones flotantes con nombre accesible: tel:, chat de WhatsApp (wa.me con un primer mensaje por idioma), mailto:, enlaces a Instagram, Facebook, TikTok, YouTube, X, LinkedIn, Pinterest o Telegram con iconos genéricos propios, y volver arriba
  • Por elemento: fechas, tipos de página (portada, producto, término de taxonomía o vista de productos, carrito, compra), dispositivo y colores con aviso de contraste WCAG
  • Un texto por idioma del sitio; etiquetas de caché y max-age hasta el próximo cambio programado, y la caché de páginas anónimas se renueva cuando algo empieza o termina

El umbral de envío gratis, unas rebajas que acaban el domingo, el cierre por vacaciones, un cupón de bienvenida: los mensajes de la tienda cambian cada semana, y meterlos a mano en una plantilla Twig o en un bloque para cada campaña lleva tiempo. Este módulo reúne todo en un formulario para los administradores de la tienda, con fechas, tipos de página y textos en cada idioma del sitio, y una salida que no le da sorpresas a la caché de render.

Cómo encaja en Drupal Commerce

Versiones
Drupal 11.3 con Commerce 3.x y PHP 8.3. Probado con Olivero; sirve cualquier tema cuyo html.html.twig imprima page_top y page_bottom.
Administración
Commerce › Configuración › Tienda › Barra promocional, ventanas y botones, un formulario de configuración con pestañas verticales y huecos fijos (5 mensajes, 3 ventanas, 6 botones), con un permiso propio para que los roles de marketing lo editen sin ser administradores del sitio. Los ajustes son un único objeto de configuración exportable y con esquema.
Portada de la tienda
La barra se imprime con hook_page_top (o hook_page_bottom si va abajo), y las ventanas y los botones con hook_page_bottom; la librería solo se adjunta cuando hay algo que mostrar.
Caché
El HTML es idéntico para todos los visitantes y lleva la etiqueta de caché de la configuración, los contextos de ruta e idioma y un max-age hasta el siguiente inicio o fin. Un pequeño middleware HTTP renueva en ese momento la caché interna de páginas, que si no ignora el max-age del render.
Accesibilidad
La rotación se puede pausar (WCAG 2.2.2), las ventanas son elementos <dialog> reales que se cierran con Esc y devuelven el foco, los botones tienen nombre para lectores de pantalla y el formulario avisa de los contrastes bajos.

Instalación

  1. Paso 1

    Descarga el zip en Mi cuenta › Descargas de ecom-addons.com y descomprímelo en modules/custom/.

  2. Paso 2

    Activa Promo Bar, Popups & Floating Buttons en Ampliar (o drush en ecom_addons_promo_bar).

  3. Paso 3

    Da el permiso Administrar la barra promocional, las ventanas emergentes y los botones flotantes a los roles que llevan las campañas y activa el mensaje de ejemplo en Commerce › Configuración › Tienda.

Descarga la guía paso a paso (PDF)

Preguntas frecuentes

¿Funciona con Internal Page Cache y Dynamic Page Cache?

Sí. Nada del HTML depende del visitante: el dispositivo, la frecuencia de las ventanas y la marca de «cerrada» se resuelven en el navegador, y las páginas se renuevan al guardar o cuando un elemento programado empieza o termina.

¿Cada idioma puede tener su texto?

Sí, un campo por idioma instalado; si falta una traducción se usa el idioma predeterminado.

¿Añade cookies o llama a servicios externos?

No. El navegador solo recuerda en local que un visitante cerró la barra o vio una ventana. El código de cupón se muestra y se copia; la promoción se crea en Commerce.

¿Puedo dejar fuera el carrito y la compra?

Ya están excluidos por defecto en cada elemento; márcalos solo si quieres un mensaje ahí.

¿El botón de WhatsApp recoge pedidos?

No. Abre un chat de WhatsApp con tu número y, si quieres, un primer mensaje en el idioma del visitante; los pedidos por WhatsApp son otro addon.

Historial de versiones

  1. Cargando…

Opiniones

Cargando…