# Centro de Notificações: guia completo

> Apresentação O módulo Centro de Notificações (dfnotificationcenter) acrescenta um sino de notificações ao cabeçalho da sua loja, mesmo ao lado do carrinho e de «A minha conta». Uma etiqueta vermelha…

- Página: <https://www.datafirefly.com/pt/documentation/dfnotificationcenter/>
- Idioma: pt
- Atualizado em: 2026-09-02
- Outros idiomas: [fr](https://www.datafirefly.com/documentation/dfnotificationcenter/index.md), [en](https://www.datafirefly.com/en/documentation/dfnotificationcenter/index.md), [es](https://www.datafirefly.com/es/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)
- Índice: <https://www.datafirefly.com/pt/documentation/llms.txt>

## Apresentação

O módulo **Centro de Notificações** (`dfnotificationcenter`) acrescenta um **sino de notificações** ao cabeçalho da sua loja, mesmo ao lado do carrinho e de «A minha conta». Uma **etiqueta vermelha** assinala as notificações por ler. Os seus **novos produtos** aparecem aí automaticamente e pode divulgar os seus **códigos promocionais**, que o cliente copia com um clique. Tudo isto é multilingue, multiloja e compatível com o PrestaShop 8 e 9.

O sino retoma um reflexo que os seus visitantes já têm nas redes sociais: um ponto vermelho chama a atenção e convida ao clique, sem pop-ups intrusivos nem faixas que atrapalhem a navegação.

## Compatibilidade

- PrestaShop 8.0 a 9.x
- Loja única e multiloja
- PHP 7.2 a 8.x
- Tema Classic e temas personalizados
- Interface fornecida em francês, inglês, espanhol, alemão e italiano
- Sem dependências (nem Composer nem framework)

## Instalação

1. No back-office, abra **Módulos > Gestor de módulos**.
2. Clique em **Instalar um módulo** e selecione o ficheiro `dfnotificationcenter.zip`.
3. Depois de instalado, clique em **Configurar**.

Na instalação, o módulo cria as suas três tabelas (notificações, traduções, estado de leitura), regista os seus hooks (sino no cabeçalho, recursos do front-office, gravação de produto, criação de vale de desconto) e acrescenta o separador de back-office **Notification Center** para gerir as notificações.

## Definições globais

Na página **Configurar** do módulo, define o comportamento geral:

- **Novos produtos automáticos**: cria uma notificação em cada gravação de um produto.
- **Apenas produtos ativos**: só gera a notificação para produtos ativos e visíveis.
- **Promoção automática ao criar um vale**: cria automaticamente uma notificação promocional assim que é criado um vale de desconto com código.
- **Duração das notificações de produto (dias)**: expiração automática ao fim de N dias. `0` = nunca.
- **Intervalo de atualização (segundos)**: atualização da etiqueta em segundo plano. `0` = desativado.
- **Número máximo de elementos no painel**: número de notificações apresentadas no sino.
- **Cor da etiqueta** e **Cor do sino** (vazio = cor do tema).
- **Som** e **Animação** do sino à chegada de uma nova notificação.

## Gerir as notificações

O separador **Notification Center** (também acessível através do botão «Abrir o Notification Center» na página de configuração) lista as suas notificações com o respetivo tipo, prioridade, número de visualizações e de cliques e o seu estado de ativação. Clique em **Adicionar uma notificação** para criar uma.

### Campos de uma notificação

- **Tipo**: Novo produto, Código promocional, Novidades ou Informação. Cada tipo tem o seu ícone e a sua cor do lado do cliente.
- **Título** (multilingue, obrigatório) e **Mensagem** (multilingue, editor de texto).
- **Legenda do botão** (multilingue) e **Ligação** (URL de destino).
- **ID do produto**: para o tipo Novo produto. A imagem e a ligação são então resolvidas automaticamente.
- **Código promocional**: para o tipo Código promocional. Apresentado ao cliente com um botão **Copiar**.
- **Imagem**: elemento visual opcional (ignorado no tipo produto, que usa a imagem de capa).
- **Grupo-alvo**: «Todos os clientes» ou um grupo específico.
- **Prioridade**: quanto mais elevado for o valor, mais acima sobe a notificação.
- **Data de início** e **Data de fim**: deixe vazio para «visível de imediato» e «nunca expira».
- **Ativa**: interruptor de ativação.

O agendamento e a segmentação combinam-se: pode, por exemplo, programar uma notificação promocional visível apenas pelo grupo «Clientes fiéis», do dia 1 ao dia 15 do mês, com prioridade elevada para aparecer no topo.

## Novos produtos automáticos

Com a opção ativada, o módulo escuta a gravação dos produtos (hook `actionProductSave`) e cria uma notificação do tipo produto com o nome, a imagem de capa e a ligação da ficha. Um mesmo produto só é notificado uma vez (eliminação de duplicados pelo identificador do produto).

A imagem e a ligação de uma notificação de produto são **recalculadas na apresentação**. Mesmo que altere o produto ou mude a fotografia mais tarde, a notificação mantém-se correta. Se o produto ficar inativo ou for eliminado, a notificação deixa simplesmente de aparecer.

## Códigos promocionais

Crie uma notificação do tipo **Código promocional**, introduza o código do seu vale de desconto e ele é apresentado ao cliente numa pastilha com um botão **Copiar**. Um clique e o código fica na área de transferência, pronto para o cliente voltar ao carrinho e aplicá-lo.

Se a opção **Promoção automática ao criar um vale** estiver ativada, é criada automaticamente uma notificação promocional sempre que é criado um vale de desconto com código (hook `actionObjectCartRuleAddAfter`), retomando a sua data de fim de validade.

## Funcionamento do lado do cliente

O sino aparece no cabeçalho através do hook `displayNav2`, ao lado do carrinho e de «A minha conta». Uma etiqueta vermelha indica o número de notificações por ler (acima de nove, apresenta `9+`). Ao clicar, um painel pendente lista as notificações, com as de maior prioridade e mais recentes em primeiro lugar.

- **Marcar como lido**: um botão «Marcar tudo como lido» e leitura automática ao clicar numa notificação.
- **Botão Copiar** nos códigos promocionais.
- **Data relativa** («há 2 h», «ontem»...).
- **Responsivo**: no telemóvel, o painel aparece no fundo do ecrã (bottom-sheet).
- **Acessibilidade**: atributos ARIA e fecho pelo teclado (tecla Esc).

### Estado lido / por ler

Nos **clientes com sessão iniciada**, o estado de leitura é guardado no servidor e, por isso, partilhado entre os seus dispositivos. Nos **visitantes sem sessão**, fica memorizado no navegador através do `localStorage`.

## Estatísticas (indicadores)

Cada notificação acumula um contador de **visualizações** e de **cliques**, visíveis na lista do back-office. Identifica assim de imediato as notificações que geram mais interação.

## Compatibilidade com o PrestaShop 9

O módulo foi concebido e testado do PrestaShop 8.0 ao 9.x:

- o controlador do back-office utiliza `ModuleAdminController`, compatível com o 8 e o 9;
- os controladores evitam os métodos removidos no PrestaShop 9;
- o controlador AJAX do front-office devolve diretamente JSON através de métodos `ajaxProcess`, sem override de assinatura incompatível;
- sem qualquer override do núcleo do PrestaShop.

## FAQ e resolução de problemas

### O sino não aparece no cabeçalho

O sino está ligado ao hook `displayNav2` do tema Classic, onde se encontram o carrinho e a conta de cliente. Num tema personalizado que não exponha esse local, ligue o módulo ao hook utilizado pelo seu cabeçalho a partir de **Módulos > Gestor de módulos**, ou contacte-nos.

### Os novos produtos não aparecem

Verifique se a opção **Novos produtos automáticos** está ativada. Se **Apenas produtos ativos** estiver assinalado, o produto tem de estar ativo e visível. Um produto já notificado não volta a sê-lo.

### A etiqueta não se atualiza para um visitante

Nos visitantes sem sessão iniciada, o estado de leitura fica guardado no navegador. Limpar a cache ou os dados do site repõe esse estado. Para um acompanhamento partilhado entre dispositivos, o cliente tem de iniciar sessão.

### O botão Copiar não funciona

A cópia utiliza a API de área de transferência do navegador, disponível em HTTPS. Certifique-se de que a sua loja é servida em HTTPS; existe uma alternativa de recurso, mas o HTTPS garante o melhor funcionamento.

### Como traduzir as notificações?

O título, a mensagem e a legenda do botão são campos multilingues: selecione cada idioma no formulário da notificação. As legendas da interface traduzem-se em **Parâmetros avançados > Traduções > Traduções dos módulos instalados**, escolhendo `dfnotificationcenter`.

### É compatível com o PrestaShop 9?

Sim. O módulo foi concebido e testado do PrestaShop 8.0 ao 9.x, tanto em loja única como em multiloja.

**Numa loja portuguesa** — A interface do módulo não é fornecida em português. Traduza as legendas em Parâmetros avançados > Traduções antes de colocar o sino em produção, e preencha os campos multilingues de cada notificação em português.

## Desinstalação

A desinstalação elimina o separador do back-office, as definições e as três tabelas do módulo (notificações, traduções, estado de leitura). Para conservar as suas notificações, desative o módulo sem o desinstalar.
