# Centro de Notificaciones — Guía completa

> Presentación El módulo Centro de Notificaciones (dfnotificationcenter) añade una campana de notificaciones en la cabecera de tu tienda, justo al lado del carrito y del enlace «Mi cuenta». Un globo…

- Página: <https://www.datafirefly.com/es/documentation/dfnotificationcenter/>
- Idioma: es
- Actualizado el: 2026-06-27
- Otros idiomas: [fr](https://www.datafirefly.com/documentation/dfnotificationcenter/index.md), [en](https://www.datafirefly.com/en/documentation/dfnotificationcenter/index.md), [de](https://www.datafirefly.com/de/documentation/dfnotificationcenter/index.md), [it](https://www.datafirefly.com/it/documentation/dfnotificationcenter/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfnotificationcenter/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfnotificationcenter/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfnotificationcenter/index.md)
- Índice: <https://www.datafirefly.com/es/documentation/llms.txt>

## Presentación

El módulo **Centro de Notificaciones** (`dfnotificationcenter`) añade una **campana de notificaciones** en la cabecera de tu tienda, justo al lado del carrito y del enlace «Mi cuenta». Un **globo rojo** señala las notificaciones no leídas. Tus **nuevos productos** aparecen allí automáticamente y puedes enviar tus **códigos promocionales**, que el cliente copia con un clic. Todo es multidioma, multitienda y compatible con PrestaShop 8 y 9.

La campana retoma un reflejo que tus visitantes ya tienen en las redes sociales: un punto rojo capta la atención e invita al clic, sin pop-up invasivo ni banner que estorbe la navegación.

## Compatibilidad

- PrestaShop 8.0 a 9.x
- Monotienda y multitienda
- PHP 7.2 a 8.x
- Tema Classic y temas personalizados
- Interfaz entregada en francés, inglés, español, alemán e italiano
- Sin dependencias (ni Composer ni framework)

## Instalación

1. En el back-office, abre **Módulos > Gestor de módulos**.
2. Haz clic en **Subir un módulo** y selecciona el archivo `dfnotificationcenter.zip`.
3. Una vez instalado, haz clic en **Configurar**.

Al instalar, el módulo crea sus tres tablas (notificaciones, traducciones, estado de lectura), registra sus hooks (campana en la cabecera, recursos front, guardado de producto, creación de regla de carrito) y añade la pestaña de back-office **Notification Center** para gestionar las notificaciones.

## Ajustes globales

Desde la página **Configurar** del módulo defines el comportamiento general:

- **Nuevos productos automáticos**: crea una notificación cada vez que se guarda un producto.
- **Solo productos activos**: genera la notificación únicamente para productos activos y visibles.
- **Promo automática en regla de carrito**: crea automáticamente una notificación promo en cuanto se crea una regla de carrito con código.
- **Vida útil de las notificaciones de producto (días)**: caducidad automática tras N días. `0` = nunca.
- **Intervalo de actualización (segundos)**: actualización del globo en segundo plano. `0` = desactivado.
- **Máximo de elementos en el panel**: número de notificaciones mostradas en la campana.
- **Color del globo** y **Color de la campana** (vacío = color del tema).
- **Sonido** y **Animación** de la campana al llegar una nueva notificación.

## Gestionar las notificaciones

La pestaña **Notification Center** (también accesible mediante el botón «Abrir el Notification Center» en la página de configuración) lista tus notificaciones con su tipo, prioridad, número de vistas y clics, y su estado activo. Haz clic en **Añadir una notificación** para crear una.

### Campos de una notificación

- **Tipo**: Nuevo producto, Código promo, News o Información. Cada tipo tiene su icono y color del lado del cliente.
- **Título** (multidioma, obligatorio) y **Mensaje** (multidioma, editor de texto).
- **Etiqueta del botón** (multidioma) y **Enlace** (URL de destino).
- **ID de producto**: para el tipo Nuevo producto. La imagen y el enlace se resuelven entonces automáticamente.
- **Código promo**: para el tipo Código promo. Se muestra del lado del cliente con un botón **Copiar**.
- **Imagen**: visual opcional (ignorado para el tipo producto, que usa la imagen de portada).
- **Grupo objetivo**: «Todos los clientes» o un grupo concreto.
- **Prioridad**: cuanto más alto el valor, más arriba aparece la notificación.
- **Fecha de inicio** y **Fecha de fin**: déjalas vacías para «visible de inmediato» y «no caduca nunca».
- **Activo**: interruptor de activación.

La programación y la segmentación se combinan: puedes, por ejemplo, programar una notificación promo visible solo para el grupo «Clientes fieles», del 1 al 15 del mes, con una prioridad alta para que aparezca arriba.

## Nuevos productos automáticos

Cuando la opción está activada, el módulo escucha el guardado de productos (hook `actionProductSave`) y crea una notificación de tipo producto con el nombre, la imagen de portada y el enlace de la ficha. Un mismo producto se notifica una sola vez (deduplicado por identificador de producto).

La imagen y el enlace de una notificación de producto se **recalculan al mostrarse**. Aunque modifiques el producto o cambies su foto más tarde, la notificación sigue siendo correcta. Si el producto se vuelve inactivo o se elimina, la notificación simplemente deja de aparecer.

## Códigos promocionales

Crea una notificación de tipo **Código promo**, introduce el código de tu regla de carrito y aparece del lado del cliente en una etiqueta con un botón **Copiar**. Un clic, el código está en el portapapeles, el cliente vuelve al carrito a aplicarlo.

Si la opción **Promo automática en regla de carrito** está activada, se crea automáticamente una notificación promo cada vez que se crea una regla de carrito con código (hook `actionObjectCartRuleAddAfter`), reutilizando su fecha de fin de validez.

## Del lado del cliente

La campana aparece en la cabecera mediante el hook `displayNav2`, junto al carrito y a «Mi cuenta». Un globo rojo muestra el número de notificaciones no leídas (a partir de nueve, muestra `9+`). Al hacer clic, un panel desplegable lista las notificaciones, las más prioritarias y recientes primero.

- **Marcar como leído**: un botón «Marcar todo como leído» y lectura automática al hacer clic en una notificación.
- **Botón Copiar** en los códigos promocionales.
- **Marca de tiempo relativa** («hace 2 h», «ayer»…).
- **Responsive**: el panel aparece en la parte inferior de la pantalla (bottom-sheet) en móvil.
- **Accesibilidad**: atributos ARIA y cierre con teclado (tecla Esc).

### Estado leído / no leído

Para los **clientes con sesión iniciada**, el estado leído / no leído se guarda en el servidor y, por tanto, se comparte entre sus dispositivos. Para los **invitados**, se recuerda en el navegador mediante `localStorage`.

## Estadísticas (KPI)

Cada notificación acumula un contador de **vistas** y **clics**, visibles en la lista del back-office. Así detectas de un vistazo qué notificaciones generan más interacción.

## Compatibilidad con PrestaShop 9

El módulo está diseñado y probado de PrestaShop 8.0 a 9.x:

- el controlador de back-office usa `ModuleAdminController`, compatible con 8 y 9;
- los controladores evitan los métodos eliminados en PrestaShop 9;
- el controlador AJAX del front devuelve JSON directamente mediante métodos `ajaxProcess`, sin override de firma incompatible;
- ningún override del núcleo de PrestaShop.

## FAQ y resolución de problemas

### La campana no aparece en la cabecera

La campana se engancha al hook `displayNav2` del tema Classic, donde están el carrito y la cuenta de cliente. En un tema personalizado que no exponga esta posición, engancha el módulo al hook usado por tu cabecera desde **Módulos > Gestor de módulos**, o contáctanos.

### Los nuevos productos no aparecen

Comprueba que la opción **Nuevos productos automáticos** esté activada. Si **Solo productos activos** está marcado, el producto debe estar activo y visible. Un producto ya notificado no se notifica una segunda vez.

### El globo no se actualiza para un visitante

Para los invitados, el estado de lectura se guarda en el navegador. Vaciar la caché o los datos del sitio reinicia ese estado. Para un seguimiento compartido entre dispositivos, el cliente debe iniciar sesión.

### El botón Copiar no funciona

La copia usa la API de portapapeles del navegador, disponible en HTTPS. Asegúrate de que tu tienda se sirve por HTTPS; existe una copia de respaldo, pero HTTPS garantiza el mejor funcionamiento.

### ¿Cómo traducir las notificaciones?

El título, el mensaje y la etiqueta del botón son campos multidioma: selecciona cada idioma en el formulario de la notificación. Las etiquetas de interfaz se traducen mediante **Parámetros avanzados > Traducciones > Traducciones de los módulos instalados**, eligiendo `dfnotificationcenter`.

### ¿Es compatible con PrestaShop 9?

Sí. El módulo está diseñado y probado de PrestaShop 8.0 a 9.x, tanto en monotienda como en multitienda.

## Desinstalación

La desinstalación elimina la pestaña de back-office, los ajustes y las tres tablas del módulo (notificaciones, traducciones, estado de lectura). Para conservar tus notificaciones, desactiva el módulo sin desinstalarlo.
