DataFirefly Cache Clear
Instalar e utilizar o botão «Limpar a cache» da DataFirefly no back-office do PrestaShop 8 e 9.
Apresentação
DataFirefly Cache Clear adiciona um botão «Limpar cache» à barra de ferramentas do back-office do PrestaShop. Um clique limpa as caches Smarty, XML, Media e Symfony, reinicia o OPcache do PHP e limpa a cache de objetos se estiver ativa, sem passar por Parâmetros avançados > Desempenho e sem recarregar a página.
Instalação
- Descarregue o arquivo
dfclearcache.zipa partir da sua conta DataFirefly. - No back-office, abra Módulos > Gestor de módulos.
- Clique em Carregar um módulo e selecione o ZIP.
- O módulo instala-se e ativa-se automaticamente.
Sem configuração: assim que o módulo é ativado, o botão aparece na barra de ferramentas de todas as páginas de administração.
Atualizar a partir da 1.0.x
Carregue o ZIP da 1.1.0 em Módulos > Gestor de módulos, por cima da versão instalada. O script de atualização reinicia o OPcache para que o novo código seja usado de imediato. Não é preciso reconfigurar nada.
Utilização
- Clique no botão «Limpar cache» na barra de ferramentas, ao lado das ações da página e do botão de ajuda.
- O ícone roda durante a operação. A limpeza corre via AJAX e a página não é recarregada.
- Uma notificação verde confirma a operação e lista as caches limpas, por exemplo «Cache limpa com sucesso. (Smarty, XML, Media, Symfony, OPcache)».
O que é limpo
- a cache Smarty (templates compilados do front-office e do back-office);
- a cache XML;
- a cache de multimédia (CSS/JS combinados e minificados);
- a cache Symfony do PrestaShop 8/9;
- o OPcache do PHP, se a extensão estiver ativa e o alojamento permitir reiniciá-lo;
- a cache de objetos (Memcached, APCu), apenas se estiver ativa em Parâmetros avançados > Desempenho.
A cache Symfony é limpa pelo mecanismo nativo do PrestaShop, no fim do pedido. Se esse mecanismo não estiver disponível, o módulo renomeia a pasta var/cache do ambiente atual e elimina-a depois de enviar a resposta. A pasta nunca é eliminada enquanto uma página a está a usar.
Quem vê o botão
O botão só é mostrado aos funcionários cujo perfil tem acesso ao módulo: os superadministradores e o perfil do funcionário que instalou o módulo. Os outros perfis não o veem, o que evita um botão que falharia ao clicar.
Registo das limpezas
Cada limpeza fica registada em Parâmetros avançados > Registos com o ID do funcionário, na forma «DataFirefly Cache Clear: cache cleared (Smarty, XML, Media, Symfony, OPcache)». Uma limpeza parcial aparece com a gravidade «aviso».
Compatibilidade
- PrestaShop 8.0 a 9.x
- PHP 7.4 a 8.x
- Loja única e multiloja
- Idiomas: FR, EN, ES, DE, IT, NL, PL, PT (inglês por defeito)
- Hook utilizado:
displayBackOfficeHeader
Resolução de problemas
O botão não aparece
Verifique se o módulo está ativo no Gestor de módulos e se o seu perfil está entre os que têm acesso ao módulo (ver «Quem vê o botão»).
Mensagem «A sua sessão expirou»
A sua sessão do back-office expirou enquanto a página estava aberta. Recarregue a página, volte a iniciar sessão se necessário e clique novamente.
Mensagem «Cache limpa parcialmente»
Um passo falhou e os outros foram executados. O detalhe do erro aparece na consola do navegador (F12) e a limpeza fica registada como aviso. A causa mais comum é um problema de permissões de escrita nas pastas de cache.
O OPcache não aparece na notificação
A extensão OPcache está desativada, ou o alojamento restringe opcache_reset() (diretiva opcache.restrict_api). O passo é então ignorado sem erro. Não se trata de uma avaria do módulo.