# Barra de Anúncio e Contagem Decrescente (dfannouncebar)

> Apresentação O módulo dfannouncebar acrescenta uma barra de anúncio inteligente à sua loja PrestaShop 8 ou 9: vários textos em rotação na mesma barra, uma contagem decrescente em direto, segmentação…

- Página: <https://www.datafirefly.com/pt/documentation/dfannouncebar/>
- Idioma: pt
- Atualizado em: 2026-09-02
- Outros idiomas: [fr](https://www.datafirefly.com/documentation/dfannouncebar/index.md), [en](https://www.datafirefly.com/en/documentation/dfannouncebar/index.md), [es](https://www.datafirefly.com/es/documentation/dfannouncebar/index.md), [de](https://www.datafirefly.com/de/documentation/dfannouncebar/index.md), [it](https://www.datafirefly.com/it/documentation/dfannouncebar/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfannouncebar/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfannouncebar/index.md)
- Índice: <https://www.datafirefly.com/pt/documentation/llms.txt>

## Apresentação

O módulo **dfannouncebar** acrescenta uma barra de anúncio inteligente à sua loja PrestaShop 8 ou 9: vários textos em rotação na mesma barra, uma contagem decrescente em direto, segmentação por idioma, país e grupo de clientes, agendamento por datas e um botão de fecho memorizado por cookie. Estão disponíveis três posições: topo da página, topo fixo (sticky) e fundo fixo.

## Instalação

1. No back-office, abra **Módulos → Gestor de módulos → Instalar um módulo**.
2. Envie o ficheiro `dfannouncebar.zip` e clique em **Instalar**.
3. Clique em **Configurar** para abrir a página do módulo.

Na instalação, o módulo cria uma **barra de exemplo inativa** com um texto multilingue (código HELLO10 e contagem decrescente a 7 dias): ative-a para ver de imediato o resultado e depois adapte-a ou elimine-a.

Sem dependências: nem Composer nem jQuery. Os ficheiros JS e CSS do módulo só são carregados no front-office se existir pelo menos uma barra ativa.

## Configuração geral

A página de configuração contém uma definição global: o **hook de ancoragem** da posição «topo da página».

- **displayBanner** (predefinido): posição padrão acima do cabeçalho no tema Classic.
- **displayTop**: solução de recurso se o seu tema não declarar o displayBanner.

Uma proteção interna impede qualquer apresentação duplicada se o seu tema executar os dois hooks. As posições fixas (topo fixo e fundo fixo) não dependem desta definição.

## Criar uma barra

Na página de configuração, clique em **Gerir as barras**. Cada barra tem:

- **Posição**: topo da página, topo fixo (acompanha o deslocamento) ou fundo fixo. O módulo compensa automaticamente o padding da página nas posições fixas.
- **Prioridade**: se várias barras visarem a mesma posição, só é apresentada a que tiver a prioridade mais baixa.
- **Cores**: fundo e texto, aplicados através de variáveis CSS.
- **Rotação**: intervalo em segundos entre dois textos. A rotação faz pausa quando o rato passa por cima.
- **Fecho**: botão de fecho opcional; o tempo de vida do cookie (em horas) determina quando a barra reaparece.
- **Agendamento**: data de início e data de fim no formato AAAA-MM-DD, completadas automaticamente com 00:00:00 e 23:59:59.
- **Loja**: em multiloja, uma barra pode ser global ou limitada a uma loja.

## Textos e contagem decrescente

Na lista de barras, a ação **Textos** abre os textos da barra. Cada texto é **multilingue** e inclui:

- **Texto**: o conteúdo apresentado. Insira o marcador `{countdown}` no ponto onde o cronómetro deve aparecer.
- **Data-limite**: o alvo da contagem decrescente, apresentada no formato `Xd HH:MM:SS` e atualizada a cada segundo (a legenda dos dias é traduzível).
- **Ocultar depois de expirar**: o texto desaparece automaticamente na data-limite, tanto no navegador como no servidor (não é servido qualquer HTML morto).
- **Botão de ação**: legenda e URL opcionais, apresentados em estilo de pastilha.
- **Ordem**: posição do texto na rotação.

Exemplo: «Saldos de verão: -20 % com o código HELLO10, termina em {countdown}». Se todos os textos de uma barra expirarem, a barra retira-se sozinha.

## Segmentação

Cada barra pode ser restringida por:

- **Idiomas**: a barra só é apresentada nos idiomas selecionados.
- **Países**: baseado no país do contexto do PrestaShop; a precisão aumenta se a geolocalização por IP estiver ativada em **Parâmetros internacionais → Localização**.
- **Grupos de clientes**: visitantes, convidados, clientes ou qualquer grupo personalizado (VIP, B2B...).

Um campo deixado vazio significa «toda a gente». Os três critérios acumulam-se.

## Resolução de problemas

- **A barra não aparece no topo da página**: o seu tema provavelmente não declara o displayBanner; passe o hook de ancoragem para displayTop na configuração.
- **A barra não aparece de todo**: verifique se está ativa, se o agendamento cobre a data de hoje, se a segmentação corresponde ao seu perfil de teste e se nenhuma barra de prioridade inferior ocupa a mesma posição. Pense também no cookie de fecho: abra uma janela de navegação privada.
- **A contagem decrescente não aparece**: certifique-se de que o texto contém mesmo `{countdown}` e de que está preenchida uma data-limite futura.
- **Aparecem duas barras no topo**: o hook de ancoragem pode ter sido alterado enquanto uma cache de página servia a versão anterior; limpe a cache do PrestaShop.
