Centro de Notificações: guia completo
Instalar, configurar e explorar o sino de notificações no front-office: novos produtos automáticos, códigos promocionais, etiqueta de não lidas, agendamento e segmentação para PrestaShop 8 e 9.
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
- No back-office, abra Módulos > Gestor de módulos.
- Clique em Instalar um módulo e selecione o ficheiro
dfnotificationcenter.zip. - 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.