
Conteúdos
Introdução: como personalizar o PrestaShop sem quebrar sua loja
Se você chegou até aqui, provavelmente está tentando personalizar sua loja PrestaShop — seja alterar layout, adicionar funcionalidades ou corrigir limitações de módulos.
E aqui vai a resposta direta:
👉 Hooks e overrides são as duas formas principais de modificar o comportamento do PrestaShop sem alterar o core.
Mas existe um problema…
A maioria dos tutoriais:
- Explica de forma confusa
- Não mostra aplicações reais
- Ignora erros comuns
- E não prepara você para produção
Resultado?
❌ Loja quebrando
❌ Erro 500
❌ Conflito entre módulos
❌ Performance ruim
Neste guia, você vai aprender do jeito certo, profissional e seguro.
Antes de começar, se você ainda não domina a base técnica da plataforma, recomendo entender melhor a estrutura de arquivos do PrestaShop — isso vai facilitar MUITO o entendimento daqui pra frente.
O Que São Hooks no PrestaShop (Explicação Simples)

Entendendo o conceito de forma prática
Hooks são pontos estratégicos dentro do PrestaShop onde você pode “plugar” funcionalidades sem modificar o sistema principal.
Pense assim:
O PrestaShop executa um código → encontra um hook → permite que você injete algo ali
Exemplo simples
Imagine que você quer adicionar um banner no topo da loja.
Em vez de editar o tema diretamente, você usa um hook como:
displayHeader
E injeta seu conteúdo ali.
Como os hooks funcionam internamente
- O core do PrestaShop dispara hooks em momentos específicos
- Módulos podem “escutar” esses hooks
- Quando o hook é executado, o código do módulo roda junto
Tipos de Hooks
🔹 Hooks de exibição (Display)
Usados para inserir conteúdo visual:
- displayHeader
- displayFooter
- displayHome
- displayProductExtraContent
👉 Usados para:
- banners
- blocos
- elementos visuais
🔹 Hooks de ação (Action)
Executam lógica (sem exibição direta):
- actionProductSave
- actionCartUpdateQuantity
- actionOrderStatusPostUpdate
👉 Usados para:
- integrações
- automações
- validações
Erro comum (e perigoso)
Muitos desenvolvedores iniciantes:
❌ Usam hook errado
❌ Colocam lógica pesada em hooks de display
❌ Criam código que roda várias vezes sem perceber
Resultado:
👉 Loja lenta ou até travando
Se sua loja já apresenta lentidão, vale analisar este guia:
como resolver PrestaShop lento e melhorar performance
Como Usar Hooks na Prática (Passo a Passo)
Agora vamos para o que realmente importa: colocar em prática.
Passo 1 — Criar um módulo simples
Crie uma pasta em:
/modules/meumodulo/
Depois, crie o arquivo principal:
meumodulo.php
Estrutura básica do módulo
<?phpif (!defined('_PS_VERSION_')) {
exit;
}class MeuModulo extends Module
{
public function __construct()
{
$this->name = 'meumodulo';
$this->version = '1.0.0';
$this->author = 'Seu Nome'; parent::__construct(); $this->displayName = 'Meu Módulo';
$this->description = 'Exemplo de uso de hook';
} public function install()
{
return parent::install() &&
$this->registerHook('displayHeader');
}
}
💬
Se você não tem experiência com desenvolvimento ou quer evitar erros que podem quebrar sua loja, o ideal é contar com um desenvolvedor PrestaShop para implementar essas alterações com segurança.
Passo 2 — Usar o hook
Agora adicionamos a função que será executada:
public function hookDisplayHeader($params)
{
return '<h1>Meu conteúdo personalizado</h1>';
}
O que aconteceu aqui?
- Registramos o hook
displayHeader - Criamos a função correspondente
- O PrestaShop executa automaticamente
Passo 3 — Instalar o módulo
- Vá no painel admin
- Instale o módulo
- Limpe o cache
⚠️ Problema comum: não aparece nada
Se não funcionar, pode ser:
- Cache ativo → veja: como configurar cache no PrestaShop corretamente
- Hook não existente no tema
- Erro silencioso no código
Para investigar, use: debug no PrestaShop modo dev
Hooks Mais Importantes do PrestaShop
Aqui estão alguns dos hooks mais usados (e que você realmente vai precisar):
Hooks do Front-End
| Hook | Uso |
|---|---|
| displayHeader | Scripts, CSS, metas |
| displayFooter | Scripts finais |
| displayHome | Conteúdo da home |
| displayProductExtraContent | Conteúdo extra no produto |
Hooks do Back-Office
| Hook | Uso |
|---|---|
| displayBackOfficeHeader | Scripts no admin |
| actionAdminControllerSetMedia | Assets no admin |
| displayDashboardTop | Widgets |
Hooks críticos (avançado)
- actionProductSave
- actionOrderStatusPostUpdate
- actionCartSave
👉 Usados para automações e integrações avançadas
Quando Hooks NÃO São Suficientes
Aqui está o ponto que poucos explicam…
Hooks são ótimos, mas têm limitações:
❌ Não permitem alterar lógica interna profunda
❌ Não substituem comportamento padrão
❌ Dependem de pontos existentes
E é exatamente aqui que entra o override.
Se você já tentou usar hooks e encontrou limitações ou erros difíceis de resolver, isso é mais comum do que parece.
👉 Em muitos casos, o ideal é contar com um especialista para evitar prejuízos e retrabalho:
O Que é Override no PrestaShop (E Quando Usar)

Agora entramos na parte mais poderosa — e também mais perigosa — do PrestaShop.
Se os hooks são “pontos de extensão”, os overrides são alterações diretas no comportamento do sistema.
👉 Em outras palavras:
Override permite substituir ou modificar completamente classes e funcionalidades nativas do PrestaShop ou de módulos.
Explicação simples
Enquanto o hook adiciona comportamento, o override altera o comportamento existente.
Exemplo prático
Você quer mudar como o preço é exibido no produto.
- Com hook → você adiciona algo ao redor
- Com override → você muda a lógica interna de exibição
Quando usar override (regra de ouro)
Use override SOMENTE quando:
✔ Não existe hook disponível
✔ Você precisa alterar lógica interna
✔ Hooks não resolvem o problema
❌ Quando NÃO usar override
- Para mudanças simples (use hooks)
- Para adicionar conteúdo visual
- Quando existe módulo que resolve
Riscos reais do override
Aqui é onde muitos quebram a loja:
- ❌ Conflito com módulos
- ❌ Problemas após atualização
- ❌ Erro 500
- ❌ Tela branca
Se isso já aconteceu com você, veja como resolver:
erro 500 no PrestaShop passo a passo
Como Criar Override no PrestaShop (Passo a Passo)
Agora vamos para a prática real.
Tipos de override
Você pode sobrescrever:
- Classes
- Controllers
- Módulos
Override de Classe
📁 Caminho:
/override/classes/
Exemplo
Criar override de Product:
<?phpclass Product extends ProductCore
{
public function getPrice($tax = true, $id_product_attribute = null)
{
$price = parent::getPrice($tax, $id_product_attribute); // Exemplo: aplicar desconto customizado
return $price * 0.9;
}
}
O que isso faz?
- Substitui o método original
- Permite alterar lógica interna
- Afeta toda a loja
Após criar override
Você PRECISA:
- Limpar cache
- Recompilar classes
Se não fizer isso, o override não funciona.
Override de Controller
📁 Caminho:
/override/controllers/front/
Exemplo
Alterando comportamento do produto:
<?phpclass ProductController extends ProductControllerCore
{
public function initContent()
{
parent::initContent(); // Customização
}
}
Uso comum
- Alterar páginas
- Inserir lógica no carregamento
- Personalizar fluxo
Override de Módulo
Esse é um dos mais usados — e mais perigosos.
Caminho:
/override/modules/nome-do-modulo/
Exemplo
<?phpclass NomeModuloOverride extends NomeModulo
{
public function hookDisplayHeader($params)
{
// alterar comportamento do módulo
}
}
Problema comum
Overrides de módulo podem gerar:
- Conflitos
- Bugs após atualização
- Falhas silenciosas
Se sua loja já apresentou comportamento estranho após instalar módulos, veja:
como identificar conflito de módulos no PrestaShop
Hooks vs Override: Qual Usar em Cada Caso?
Essa é uma das decisões mais importantes.
Comparação direta
| Critério | Hooks | Override |
|---|---|---|
| Segurança | Alta | Baixa |
| Facilidade | Fácil | Médio/Avançado |
| Impacto | Local | Global |
| Performance | Melhor | Pode piorar |
| Manutenção | Simples | Complexa |
💬
Se você não tem experiência com desenvolvimento ou quer evitar erros que podem quebrar sua loja, o ideal é contar com um developer PrestaShop especializado para implementar essas alterações com segurança.
Use HOOK quando:
- Quer adicionar conteúdo
- Quer integrar algo novo
- Existe hook disponível
Use OVERRIDE quando:
- Precisa alterar lógica interna
- Não existe hook
- Precisa substituir comportamento
Insight profissional (nível avançado)
Segundo especialistas da PrestashopHost:
90% dos casos podem ser resolvidos com hooks ou módulos bem estruturados — override deve ser exceção, não regra.
Isso evita problemas graves em atualizações futuras.
Problemas Comuns com Hooks e Override (E Como Resolver)
Aqui está o que realmente acontece na prática…

❌ Override não funciona
Possíveis causas:
- Cache não limpo
- Classe não recompilada
- Nome incorreto
👉 Solução: debug completo no PrestaShop
❌ Tela branca
Causa comum:
- Erro fatal no PHP
👉 Veja como resolver: como corrigir tela branca no PrestaShop
❌ Erro de permissão
Muito comum em override:
👉 Solução completa: erro de permissão no PrestaShop
❌ Loja não carrega após alteração
👉 Diagnóstico: por que o PrestaShop não carrega
Impacto em Performance (O Que Ninguém Te Conta)
Esse é o ponto que separa iniciantes de profissionais.
Hooks mal utilizados
Podem causar:
- Execução repetida
- Código pesado no front
- Aumento do TTFB
Overrides mal feitos
Podem gerar:
- Alto consumo de CPU
- Queries extras no banco
- Lentidão geral
Se sua loja já sofre com isso, veja:
como otimizar PrestaShop para performance máxima
Regra de ouro
Quanto mais profundo o override, maior o impacto na performance.
Se você está lidando com overrides, conflitos ou erros difíceis, isso já está em nível técnico avançado.
👉 Nesse ponto, o ideal é evitar riscos:
Casos Reais de Uso (Aplicação Profissional)
Agora vamos sair da teoria e entrar no que realmente importa: como hooks e overrides são usados em lojas reais que faturam.
Caso 1 — Customização do checkout
Problema comum:
👉 Checkout travando ou com regras de negócio específicas (ex: validação de CPF, bloqueio de CEP, integração com ERP)
✔️ Solução com hooks
Você pode usar:
actionValidateOrderactionCartSave
Para inserir validações ou integrações externas.
⚠️ Quando vira override
Se você precisa:
- Alterar fluxo do checkout
- Modificar lógica de confirmação de pedido
- Interferir diretamente na criação do pedido
👉 Hook não resolve → entra override
Se sua loja apresenta problemas nessa etapa, veja:
como resolver PrestaShop travando no checkout
Caso 2 — Alteração de layout de produto
Problema:
👉 Cliente quer mudar estrutura da página de produto
✔️ Solução com hooks
displayProductExtraContentdisplayFooterProduct
Permite adicionar blocos sem quebrar o tema.
⚠️ Quando usar override
- Remover elementos nativos
- Alterar lógica de carregamento
- Modificar controller
Caso 3 — Integração com sistemas externos
Exemplo:
- ERP
- CRM
- Gateway de pagamento
✔️ Hooks ideais
actionOrderStatusPostUpdateactionProductSave
Insight profissional
Na PrestashopHost, integrações são feitas priorizando hooks, porque:
- Evita conflitos
- Mantém compatibilidade
- Facilita manutenção
Boas Práticas Profissionais (Nível Avançado)
Se você quer trabalhar como especialista ou evitar problemas graves, siga isso:

🔹 1. Evite override sempre que possível
- Prefira hooks
- Use módulos customizados
🔹 2. Isolar lógica em módulos
Nunca coloque código direto no tema.
👉 Sempre use módulos
🔹 3. Nomeie corretamente
Evite conflitos:
- Prefixos únicos
- Estrutura organizada
🔹 4. Controle de versão
Use:
- Git
- Backup antes de alterações
🔹 5. Teste em ambiente de staging
Nunca teste direto em produção.
🔹 6. Cuidado com cache
Alterações podem não aparecer por causa disso.
👉 Veja guia completo: problemas de cache no PrestaShop
🔹 7. Prepare para atualizações
Overrides quebram facilmente após update.
👉 Se você atualiza sua loja, veja: erros após atualização no PrestaShop
Erros Avançados (Que Quase Ninguém Explica)
❌ Override duplicado
- Dois módulos sobrescrevendo a mesma classe
👉 Resultado: conflito silencioso
❌ Hook executando múltiplas vezes
- Código rodando mais de uma vez
👉 Resultado: lentidão e bugs
❌ Dependência de módulo externo
- Override quebra quando módulo atualiza
❌ Código não otimizado
- Queries desnecessárias
- Loops pesados
👉 Resultado:
Se sua loja está consumindo muitos recursos, veja:
como reduzir consumo de CPU no PrestaShop
Quando Contratar um Especialista PrestaShop

Se você chegou até aqui, provavelmente está em um desses cenários:
- Tentou usar hooks e não funcionou
- Override quebrou sua loja
- Problemas de performance
- Conflito entre módulos
- Bugs após atualização
Sinal claro de alerta
Se você está vendo:
- Tela branca
- Erro 500
- Loja lenta
- Checkout falhando
👉 Isso já não é mais básico
💡 Melhor decisão
Nesse ponto, o mais inteligente é evitar perda de tempo e dinheiro:
👉 Suporte técnico especializado em PrestaShop
ou
👉 Otimizar e corrigir sua loja PrestaShop
Conclusão: O Caminho Profissional no PrestaShop
Agora você entende o que 90% dos usuários não sabem:
- Hooks são a base da personalização
- Overrides são poderosos, mas perigosos
- Performance e manutenção dependem das escolhas técnicas
Resumo estratégico
✔ Use hooks sempre que possível
✔ Use override apenas quando necessário
✔ Evite alterar o core
✔ Pense em performance e manutenção
✔ Teste tudo antes de aplicar
Insight final
Segundo a PrestashopHost:
O maior erro não é não saber usar hooks ou override —
é usar no lugar errado.
Se você quer aplicar tudo isso sem risco e com performance máxima:





