# Botão Esvaziar o Carrinho: guia completo

> Apresentação O módulo Botão Esvaziar o Carrinho (dfclearcart) acrescenta à página do carrinho da sua loja um botão «Esvaziar o carrinho» que elimina num único clique todo o conteúdo do…

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

## Apresentação

O módulo **Botão Esvaziar o Carrinho** (`dfclearcart`) acrescenta à página do carrinho da sua loja um botão **«Esvaziar o carrinho»** que elimina num único clique todo o conteúdo do carrinho: todos os produtos, as suas combinações e personalizações, bem como os vales de desconto aplicados. O módulo é totalmente autónomo: sem dependências Composer e sem qualquer tabela SQL adicional.

O botão é injetado em JavaScript através de um hook sempre presente e depois colocado no bloco do carrinho. Aparece, por isso, mesmo em temas personalizados que não despoletam os hooks de apresentação habituais da página do carrinho.

## Compatibilidade

- PrestaShop 8.0 a 9.x
- Loja única e multiloja
- 5 idiomas: FR, EN, ES, DE, IT
- Tema Classic e temas personalizados
- 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 `dfclearcart.zip`.
3. Depois de instalado, clique em **Configurar**.

Na instalação, o módulo regista os seus hooks (carregamento dos recursos no front-office e botão na página do carrinho) e cria as suas definições predefinidas: botão ativado, confirmação ativada e legendas nos cinco idiomas.

## Configuração

- **Ativar o botão**: mostra ou oculta o botão «Esvaziar o carrinho» na página do carrinho.
- **Pedir confirmação**: apresenta uma janela de confirmação antes de esvaziar, para evitar cliques acidentais.
- **Legenda do botão**: texto apresentado no botão, personalizável e traduzível em cada idioma.
- **Mensagem de confirmação**: texto do pedido de confirmação, personalizável e traduzível em cada idioma.

As legendas são campos multilingues: selecione cada idioma no seletor do campo para adaptar o texto. Os valores predefinidos são fornecidos nos cinco idiomas logo na instalação. Numa loja portuguesa, preencha-os em português, caso contrário será usado o texto do idioma predefinido da loja.

## Funcionamento

### O que é eliminado

Ao clicar (e depois da confirmação, se estiver ativada), o módulo elimina **todos os produtos** do carrinho, incluindo as suas combinações e personalizações, e retira depois **todos os vales de desconto e regras de carrinho** aplicados. O carrinho regressa a um estado totalmente vazio.

### Recarregamento automático

Depois de esvaziado o carrinho, a página do carrinho é recarregada automaticamente para mostrar o estado vazio, sem qualquer intervenção do cliente.

### Injeção independente do tema

Os recursos (script e estilo) são carregados através do hook `actionFrontControllerSetMedia`, que é sempre chamado. O script localiza depois o bloco do carrinho e insere aí o botão. Esta abordagem garante a apresentação do botão mesmo quando o tema não despoleta os hooks de apresentação clássicos da página do carrinho.

Se o tema despoletar o hook `displayShoppingCartFooter`, o botão é renderizado diretamente aí e o script liga-se-lhe sem criar duplicados.

### Segurança

O esvaziamento é feito através de um pedido AJAX protegido por um token associado ao carrinho atual e abrange apenas o carrinho da sessão em curso. Nenhuma outra sessão nem qualquer outro carrinho é afetado.

## FAQ e resolução de problemas

### O botão não aparece na página do carrinho

Limpe a cache do PrestaShop (Parâmetros avançados > Desempenho) e, durante os testes, desative a combinação/compressão (CCC) e force a recompilação dos templates. Recarregue depois a página do carrinho em navegação privada. O botão só aparece quando o carrinho tem, pelo menos, um artigo.

### O meu tema personalizado continua a não mostrar o botão

O botão é inserido no primeiro contentor de carrinho reconhecido. Se o seu tema usar uma estrutura muito específica, abra a consola do navegador: se o objeto `dfClearCart` estiver definido, os recursos estão bem carregados e só o seletor de inserção precisa de ser adaptado ao seu bloco de carrinho.

### O carrinho só se esvazia depois de uma atualização manual

Certifique-se de que está a utilizar a versão mais recente do módulo: o recarregamento da página do carrinho é despoletado automaticamente depois do esvaziamento.

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

Sim. O módulo é compatível com o PrestaShop 8 e 9, em multiloja e multilingue, sem métodos obsoletos.
