Venta Flash y Cuenta atrás — Guía completa
Instalar, configurar y explotar las ventas flash: programación automática de descuentos mediante precios específicos, cuenta atrás sincronizada con el servidor, banner sticky, segmentación y modo evergreen para PrestaShop 8 y 9.
Presentación y requisitos
Venta Flash convierte tus promociones en auténticas ventas flash de duración limitada. Programas una campaña sobre una ventana de fechas; el módulo aplica el descuento automáticamente mediante los precios específicos nativos de PrestaShop y muestra una cuenta atrás sincronizada con la hora del servidor. El precio promocional se aplica así en todas partes — ficha de producto, listados, carrito y correos — sin ninguna modificación de tu plantilla.
- Compatible con PrestaShop 8.0 a 9.x, plantilla Classic y plantillas derivadas.
- PHP 7.4 a 8.3.
- Multitienda y multilingüe (FR/EN/ES/DE/IT).
- Sin tarea CRON: la activación y el corte del descuento los gobiernan las fechas del precio específico.
- Arquitectura conforme a PrestaShop (ModuleAdminController, ObjectModel), autoloader PSR-4 sin dependencia de Composer.
El descuento se inserta en un precio específico cuya ventana from / to coincide con las fechas de la campaña. PrestaShop lo activa y lo retira por sí solo, al segundo.
Instalación
Instala el módulo como cualquier módulo de PrestaShop:
- Descarga el archivo
dfflashsale.zipdesde tu cuenta de cliente. - En el back office, ve a Módulos > Gestor de módulos.
- Haz clic en Subir un módulo y suelta el archivo.
- Una vez instalado, gestiona tus campañas desde Catálogo > Ventas flash.
Al instalarse, el módulo crea sus tablas (campañas, segmentación, mapeo de precios específicos), registra sus hooks de visualización y añade la pestaña Ventas flash en Catálogo.
Ajustes generales del módulo
La página de configuración (Configurar desde el gestor de módulos) reúne los ajustes globales, comunes a todas las campañas:
- Sincronizar la cuenta atrás con el servidor: ajusta el reloj a la hora del servidor (recomendado). Consulta la sección dedicada.
- Desplazar el contenido de la página (push body): añade automáticamente un margen para que el banner sticky no tape nunca el contenido.
- Mostrar el banner en móvil: muestra u oculta el banner en pantallas pequeñas.
- Z-index del banner: nivel de apilamiento del banner; auméntalo si un elemento de tu plantilla aparece por encima.
Crear una campaña de venta flash
Desde la pestaña Catálogo > Ventas flash, haz clic en Añadir una campaña. El formulario se organiza en paneles.
General
- Nombre: identificador interno de la campaña (libre).
- Activa: activa o suspende la campaña.
- Fecha de inicio / fin: ventana de actividad. El descuento y la cuenta atrás se basan en estas fechas.
- Prioridad: si varias campañas apuntan al mismo producto, gana la de mayor prioridad para la visualización.
- Tiendas: en multitienda, selecciona las tiendas afectadas.
Descuento
- Tipo de descuento: Porcentaje (p. ej. -30 %) o Importe fijo (p. ej. -15 €).
- Valor: el porcentaje o el importe del descuento.
- Moneda: para un descuento de importe fijo, la moneda de referencia.
- Impuesto: indica si el importe fijo se entiende con o sin impuestos.
El descuento se aplica mediante precios específicos: se combina con las reglas de precio nativas de PrestaShop según su prioridad y se muestra ya desde el carrito.
Segmentación
Elige el alcance de la campaña:
- Todo el catálogo: el descuento se aplica a todos los productos.
- Categorías: selecciona una o varias categorías. La opción Incluir subcategorías extiende el descuento a todo el árbol.
- Productos: busca y selecciona productos concretos (por nombre, referencia o ID).
Visualización
- Banner con cuenta atrás: muestra la barra promocional global.
- Posición del banner: arriba o abajo de la página.
- Banner fijo (sticky): mantiene el banner visible al desplazarse.
- Mostrar en las fichas de producto: añade un recuadro de cuenta atrás bajo el precio.
- Mostrar en la página de inicio: añade un bloque promocional en la página de inicio.
- Teaser antes del inicio: muestra una cuenta atrás «empieza en…» antes de la fecha de inicio.
- Al finalizar la cuenta atrás: ocultar el elemento o mostrar un mensaje de fin.
Apariencia y textos
El panel Apariencia permite ajustar el color de fondo, el color del texto y el color de acento, además del enlace del botón de llamada a la acción (CTA). El panel Textos reúne las etiquetas traducibles: título y subtítulo del banner, texto del botón y mensaje de fin, editables para cada idioma de la tienda.
Cómo funciona la programación
Al guardar una campaña, el módulo crea los precios específicos correspondientes a la segmentación: un precio específico global (producto 0) para «todo el catálogo», o un precio específico por producto para la segmentación por categorías y productos. La ventana de validez de cada precio específico se ajusta a las fechas de inicio y fin de la campaña.
PrestaShop activa y desactiva así el descuento por sí mismo, al segundo, sin tarea programada. Los identificadores de los precios específicos creados se guardan en una tabla de correspondencia para retirarlos limpiamente al editar, al eliminar la campaña o al desinstalar.
Para una segmentación por categorías con subcategorías, la lista de productos se resuelve al guardar recorriendo el árbol (nleft / nright). Recuerda volver a guardar la campaña si reorganizas tus categorías.
La cuenta atrás sincronizada con el servidor
La cuenta atrás se ajusta a la hora del servidor, no a la del visitante. Al mostrarse, el módulo transmite la marca de tiempo del servidor y la fecha de fin; el script calcula un desfase entre la hora del servidor y la hora local, y luego cuenta hacia atrás localmente a partir de ese desfase.
Resultado: un visitante que adelante o atrase el reloj de su ordenador no falsea el temporizador. No se necesita ninguna llamada de red repetida, y la cuenta atrás se mantiene fluida y exacta para todos.
Puedes desactivar la sincronización con el servidor en los ajustes generales; la cuenta atrás se basará entonces en la hora local del navegador.
El modo evergreen
El modo evergreen convierte la campaña en un temporizador perpetuo individual: cada visitante tiene su propia fecha límite, activada en su primera visita y basada en una duración en minutos que defines. La fecha límite se conserva localmente (localStorage) para mantenerse coherente entre páginas y visitas.
En modo evergreen, la cuenta atrás es propia de cada visitante y no coincide con la ventana real de descuento. Úsalo para mensajes de urgencia personalizados, no para señalar un fin de promoción común.
Multilingüe y multitienda
Todas las etiquetas (título, subtítulo, botón, mensaje de fin) son traducibles por idioma. En multitienda, cada campaña puede restringirse a determinadas tiendas, y los precios específicos se crean por tienda. Una misma campaña puede así apuntar a una tienda concreta sin afectar a las demás.
FAQ y resolución de problemas
El descuento no se aplica
Comprueba que la campaña esté activa, que la fecha de hoy esté entre la fecha de inicio y la de fin, y que afecte a la tienda actual. Para una segmentación por categorías, asegúrate de haber vuelto a guardar la campaña tras cualquier reorganización del árbol.
El banner tapa mi menú o mi contenido
Activa la opción Desplazar el contenido de la página (push body) en los ajustes generales. Si un elemento de tu plantilla aparece por encima del banner, aumenta el valor del z-index.
La cuenta atrás muestra una hora incoherente
Asegúrate de que la hora de tu servidor sea correcta y de que la sincronización con el servidor esté activa. El temporizador se ajusta a la hora del servidor, independientemente del reloj del visitante.
Varias campañas apuntan al mismo producto
La visualización retiene la campaña de mayor prioridad. Para el descuento, se aplica la lógica de prioridad de los precios específicos de PrestaShop.
¿Qué ocurre al desinstalar?
La desinstalación retira todos los precios específicos creados por el módulo mediante su tabla de correspondencia, elimina sus hooks y su pestaña, y limpia sus tablas. Tus precios originales se restauran por completo.