PS PrestaShop Intermedio

DataFirefly Live Shopping — Guía completa

Instalar, configurar y animar ventas en directo: vídeo nativo (HLS / MP4 / embed), Studio en tiempo real, ofertas flash, chat, recordatorios por e-mail, replays y carrito nativo para PrestaShop 1.7, 8 y 9.

Actualizado Versión del módulo 1.1.0

Presentación

El módulo DataFirefly Live Shopping (dflive) convierte su tienda PrestaShop en una plataforma de venta en vídeo en directo. Usted emite un directo, fija productos en tiempo real, lanza ofertas flash, sus clientes añaden al carrito sin salir de la emisión y la sesión queda disponible en replay. Todo funciona en su tienda: sin plataforma de live shopping de terceros ni suscripción recurrente.

Tres pilares: un vídeo nativo (HLS, MP4 o embed), un Studio en tiempo real integrado en el back-office para dirigir el directo, y una capa de compra (productos fijados, ofertas flash, carrito nativo, chat, reacciones, prueba social, recordatorios por e-mail).

Compatibilidad

  • PrestaShop 1.7.0 a 1.7.8, 8.x y 9.x (desde la versión 1.1.0 del módulo)
  • PHP 5.6 a 8.3, según la versión de PrestaShop
  • Temas Classic y Hummingbird, y los temas derivados
  • Tienda única y multitienda
  • Multilingüe (5 idiomas incluidos: FR, EN, ES, DE, IT)
  • Sin dependencias (ni Composer ni framework); hls.js va incluido en el módulo
  • Compatible con hosting compartido (sincronización por polling AJAX, sin WebSocket ni SFU)

En PrestaShop 1.7.0 a 1.7.5, los textos gestionados por el nuevo sistema de traducción de PrestaShop (archivos XLF) aparecen en francés, porque esas versiones aún no cargan las traducciones XLF de los módulos. Todo está traducido a partir de la 1.7.6.

Requisitos

El módulo gestiona la reproducción del vídeo y toda la capa de compra, pero usted aporta la fuente de vídeo. Según el modo:

  • HLS: un flujo .m3u8 servido por su propio servidor HLS, Mux o Cloudflare Stream, alimentado por un codificador como OBS.
  • MP4: una URL hacia un archivo .mp4 accesible públicamente.
  • Embed: un directo de YouTube, Twitch o Vimeo (URL o código <iframe>).

Para los recordatorios «Avisarme», su tienda debe estar configurada para enviar e-mails (Parámetros avanzados > Correo electrónico).

Se recomienda HTTPS: la reproducción automática y la pantalla completa funcionan mejor en una tienda servida en HTTPS, algo que ya tienen casi todas las tiendas en producción.

Instalación

  1. En el back-office, abra Módulos > Gestor de módulos.
  2. Haga clic en Subir un módulo y seleccione el archivo dflive.zip.
  3. Una vez instalado, abra Vender > Live Shopping > Directos y replays.

Durante la instalación, el módulo crea sus tablas (sesiones, productos de sesión, mensajes, eventos, presencia, recordatorios), registra sus pestañas en Vender, añade las rutas /live y /live/{id}-{slug} y activa el widget de la página de inicio.

Actualizar desde la versión 1.0.0

  1. En Módulos > Gestor de módulos, suba el nuevo dflive.zip (o sustituya la carpeta modules/dflive por FTP).
  2. Haga clic en Actualizar en la línea del módulo si PrestaShop lo propone.

El script de actualización 1.1.0 se ejecuta automáticamente y sin pérdida de datos. Este script:

  • añade las columnas necesarias (antiflood de invitados, idioma y tienda de los recordatorios);
  • asocia sus directos existentes a todas sus tiendas;
  • sustituye las fechas vacías guardadas como 0000-00-00 por valores nulos;
  • elimina el hook displayHeader, que ya no es necesario.

Si usa la caché CCC (combinación de CSS y JS), vacíe la caché de PrestaShop tras la actualización (Parámetros avanzados > Rendimiento > Vaciar caché) para que se usen los nuevos archivos del reproductor.

Crear un directo

Desde Vender > Live Shopping > Directos y replays, haga clic en Añadir. El formulario se organiza en pestañas:

General

  • Título y descripción del directo (multilingües).
  • Anfitrión: nombre mostrado como anfitrión en el chat y bajo el vídeo.
  • Fecha / hora programada: activa la cuenta atrás para el espectador.
  • Estado: programado, en directo o terminado. También se gestiona desde el Studio; un cambio hecho desde el formulario tiene los mismos efectos (fechas, limpieza de ofertas, actualización para los espectadores).
  • Imagen de portada: JPG, PNG, GIF o WebP, mostrada antes del directo y en los listados. Se comprueba el tipo real del archivo: cualquier otro archivo se rechaza.

Vídeo

  • Tipo de fuente de vídeo: HLS, MP4 o embed.
  • Fuente de vídeo: la URL .m3u8, la URL .mp4 o la URL / código <iframe> embed según el tipo. Con un código embed, solo se usa la dirección del iframe para el espectador.
  • URL del replay (VOD) (opcional): por ejemplo la grabación de su servidor HLS, reproducida automáticamente al terminar el directo.

Productos

Asocie los productos que se presentarán en el directo con el selector de búsqueda AJAX (nombre, referencia o ID). Arrastre y suelte las líneas para definir el orden del carril. Un producto desactivado sigue en la lista pero no se muestra durante el directo.

Opciones

Active o no el chat, las reacciones y el replay para esta sesión, así como su visibilidad en la tienda. En multitienda, elija las tiendas en las que se publica el directo.

SEO

Indique el meta título, la meta descripción y, si lo desea, la URL amigable de la página del directo (si se deja vacía, se genera a partir del título).

Emitir el flujo

Para un directo en HLS, el principio es el siguiente:

  1. Configure su codificador (OBS, por ejemplo) para emitir hacia su servidor HLS, Mux o Cloudflare Stream.
  2. Copie la URL .m3u8 de salida y péguela en el campo Fuente de vídeo de la sesión.
  3. Inicie la emisión desde su codificador, abra el Studio y haga clic en Iniciar el directo.

El flujo solo se carga para los espectadores cuando empieza el directo. Si el flujo HLS no está disponible momentáneamente (codificador que arranca tarde, corte de red), el reproductor lo reintenta automáticamente.

El módulo no le ata a ninguna infraestructura: usted elige su cadena de emisión (propia o en la nube) y simplemente pega la URL. Para una prueba rápida basta con un MP4 o un embed de YouTube / Twitch.

El Studio (sala de control)

El Studio es la sala de control integrada en el back-office. Ábralo con el botón Studio de la lista de directos.

  • Iniciar / Terminar el directo: cambia el estado de la sesión. Al iniciar, los inscritos en «Avisarme» reciben su e-mail. Al terminar, se eliminan las ofertas flash en curso y se desfija el producto.
  • Fijar un producto: su tarjeta aparece al instante sobre el vídeo de los espectadores, incluidos los que llegan más tarde. Fijar un producto desfija automáticamente el anterior. Se guarda el momento de la primera presentación para la línea de tiempo del replay.
  • Oferta flash: introduzca un descuento (por ejemplo 20% o 10) y, si hace falta, una duración (de 5 a 60 minutos, o ilimitada). El módulo crea un SpecificPrice al vuelo y el nuevo precio aparece al instante. El botón × detiene la oferta y restablece el precio normal para todos.
  • Anuncio fijado: muestra un banner sobre el vídeo de los espectadores y añade el mensaje, fijado, al chat.
  • Mensaje como host: escribe en el chat en nombre del anfitrión.
  • Moderación: ocultar, mostrar o fijar cualquier mensaje. Un mensaje ocultado desaparece también para los espectadores que ya lo habían recibido.
  • Estadísticas en directo: espectadores, reacciones e inscritos a los recordatorios, en tiempo real.

El Studio envía eventos (fijación, oferta, anuncio, cambio de estado, ocultación) que los espectadores reciben en el siguiente ciclo de polling. El intervalo se configura en los ajustes del módulo.

Recordatorios «Avisarme»

En una sesión programada, el espectador introduce su e-mail (rellenado automáticamente si ha iniciado sesión) y hace clic en Avisarme. El número de inscritos se ve en la página del directo y en el Studio.

Al hacer clic en Iniciar el directo, se envía de inmediato un primer lote de e-mails; el resto se envía en lotes de 20 mientras el Studio esté abierto. Cada inscrito recibe el e-mail en el idioma en el que se inscribió (FR, EN, ES, DE o IT; inglés por defecto para los demás idiomas), con un enlace directo al directo. Cada inscrito solo recibe un aviso.

Las plantillas están en modules/dflive/mails/{idioma}/dflive_reminder.html y .txt. Puede personalizarlas como cualquier e-mail de PrestaShop.

Lado del espectador

La página de un directo (/live/{id}-{slug}) muestra:

  • El reproductor con la etiqueta «EN DIRECTO» y el número de espectadores. Los navegadores solo permiten la reproducción automática sin sonido: aparece un botón Activar el sonido sobre el vídeo.
  • La tarjeta del producto fijado sobre el vídeo, con botón de añadir al carrito.
  • El carril de productos del directo, cada uno añadible al carrito nativo de PrestaShop con un clic. El bloque carrito del tema se actualiza sin abrir ninguna ventana, para no interrumpir el directo. Se respetan el stock, las cantidades mínimas y las reglas de carrito; en un producto con combinaciones se añade la combinación por defecto.
  • El chat (clientes y, si se activa, invitados) con antiflood, mensajes del anfitrión y corazones animados.
  • Los anuncios del anfitrión en banner sobre el vídeo.
  • Los avisos de prueba social «Alguien acaba de añadir…» al añadir al carrito.

En una sesión programada, el espectador ve una cuenta atrás (basada en la hora del servidor) y puede inscribirse a los recordatorios. Cuando empieza el directo, la página pasa automáticamente a directo, sin recargar.

Replays y línea de tiempo de productos

Al terminar el directo, la página pasa automáticamente a modo replay:

  • si hay una URL de replay, se carga el vídeo grabado con sus controles de reproducción;
  • en un directo embed, el embed se mantiene (o la URL de replay si la indicó);
  • sin fuente de replay, se muestra una pantalla «Directo finalizado».

Durante el replay, cada producto reaparece sobre el vídeo en el momento en que se fijó por primera vez en directo. La marca se cuenta desde el inicio del directo: para una sincronización exacta, la grabación debe empezar cuando hace clic en Iniciar el directo.

Si la opción Repetición disponible está desactivada, la página de un directo terminado redirige a la lista /live.

Ajustes del módulo

La página de configuración (Módulos > Gestor de módulos > DataFirefly Live Shopping > Configurar) agrupa los ajustes globales. Los valores fuera de rango se ajustan automáticamente al rango permitido.

  • Intervalo de polling (3000 ms por defecto, de 1000 a 60 000): frecuencia de actualización del chat y de los eventos durante un directo. Antes del directo y en replay, el ritmo se reduce automáticamente.
  • Chat en directo y chat de invitados: permiten el chat y, si procede, la participación de visitantes no conectados.
  • Reacciones y prueba social: activan los corazones y los avisos de añadir al carrito.
  • Timeout del espectador (30 s por defecto, de 10 a 600): tiempo tras el cual un espectador inactivo deja de contarse.
  • Longitud máx. del mensaje (300 por defecto, de 20 a 500) y antiflood (3 s por defecto, 0 para desactivar): regulan el chat. Para los invitados, el antiflood se aplica por dirección IP (guardada como huella, nunca en claro).
  • Widget de inicio y directos mostrados (4 por defecto, de 1 a 24): controlan el bloque de la página de inicio.

Página de listado y widget de inicio

La página /live lista los directos en curso, los próximos (los más cercanos primero) y los replays (los más recientes primero). El widget de inicio destaca estas sesiones dentro del límite configurado. En multitienda, cada tienda solo muestra los directos que tiene asociados.

Seguridad

  • El chat, el añadir al carrito y la inscripción a recordatorios están protegidos por el token anti-CSRF estándar de PrestaShop.
  • Los mensajes del chat se limpian de todo HTML antes de mostrarse.
  • Solo se aceptan imágenes reales como portada, y la carpeta de subida bloquea la ejecución de scripts.
  • En un código embed solo se usa la dirección del iframe: no se inyecta ningún atributo ni script en la página.

Preguntas frecuentes y solución de problemas

El vídeo no arranca

Compruebe el tipo de vídeo y la fuente. En HLS, asegúrese de que la URL .m3u8 es pública y de que su codificador está emitiendo; el reproductor reintenta automáticamente durante unos 90 segundos. En embed, compruebe que la URL de YouTube, Twitch o Vimeo es válida. Antes de iniciar el directo no se carga ningún vídeo: es normal.

El directo no tiene sonido

Es una regla de los navegadores: la reproducción automática solo se permite sin sonido. El espectador hace clic en Activar el sonido sobre el vídeo.

El precio de la oferta flash no cambia para los espectadores

La oferta se aplica mediante un SpecificPrice creado al vuelo y se propaga en el siguiente ciclo de polling. Compruebe el intervalo de polling, que la oferta no se haya detenido ya y que su duración no haya expirado. Un descuento en importe mayor o igual que el precio del producto se rechaza.

El chat no aparece o rechaza mis mensajes

Compruebe que el chat está activado para la sesión y de forma global. El chat de invitados debe estar activado para los visitantes no conectados. El antiflood impone un tiempo mínimo entre dos mensajes. Si aparece «Recargue la página para continuar», la sesión del visitante ha cambiado (inicio de sesión en otra pestaña, por ejemplo): basta con recargar.

Los inscritos no han recibido el e-mail de recordatorio

Compruebe la configuración de correo de la tienda (Parámetros avanzados > Correo electrónico, con un e-mail de prueba) y revise los registros (Parámetros avanzados > Registros). Los e-mails salen al iniciar el directo y luego por lotes mientras el Studio está abierto: déjelo abierto hasta completar el envío.

No se muestra la cuenta atrás

La cuenta atrás solo aparece en sesiones programadas con fecha indicada. Sin fecha, se muestra «El directo va a empezar».

El contador del carrito no se actualiza

El producto sí se añade al carrito; la actualización del bloque carrito depende del módulo de carrito del tema (ps_shoppingcart). Si usa CCC, vacíe la caché tras actualizar el módulo.

¿Funciona en hosting compartido?

Sí. La sincronización en tiempo real usa polling AJAX, sin servidor WebSocket ni SFU, lo que garantiza la compatibilidad con los alojamientos compartidos habituales.

Historial de versiones

1.1.0 — 26 de octubre de 2026

  • Compatibilidad con PrestaShop 1.7.0 a 1.7.8 (PHP 5.6 a 8.3), además de 8 y 9.
  • Recordatorios «Avisarme» enviados por e-mail al iniciar el directo (5 idiomas).
  • Replays: cambio automático, vídeo ya no oculto, línea de tiempo de productos.
  • Botón «Activar el sonido», reanudación automática HLS, producto fijado visible para quien llega tarde.
  • Ofertas flash con duración, precio normal restablecido al terminar.
  • Multitienda: selección de tiendas por directo.
  • Seguridad: token anti-CSRF, control de subidas, antiflood de invitados por IP, embed filtrado.
  • URL limpias, meta SEO, migas de pan, arrastrar y soltar productos, anuncios en banner.

1.0.0 — 6 de junio de 2026

  • Versión inicial para PrestaShop 8 y 9.
¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte