Botão Esvaziar o Carrinho: guia completo
Instalar, configurar e utilizar o botão «Esvaziar o carrinho» na página do carrinho, para PrestaShop 8 e 9.
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
- No back-office, abra Módulos > Gestor de módulos.
- Clique em Instalar um módulo e selecione o ficheiro
dfclearcart.zip. - 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.