Como Usar Hooks e Override de Módulos no PrestaShop (Passo a Passo)

Infográfico passo a passo ensinando como utilizar Hooks e realizar Override de módulos no PrestaShop, focado em desenvolvimento e marketing.
Aprenda a customizar módulos do PrestaShop com segurança utilizando Hooks e a técnica de Override.

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)

Infográfico educativo explicando o conceito de Hooks no PrestaShop como pontos de inserção para módulos, dividindo-os em Hooks de Exibição, Ação e Admin, com exemplos visuais na loja.
Entenda como os Hooks funcionam no PrestaShop para acoplar funcionalidades e módulos sem alterar o core do sistema.

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');
}
}
Mapa técnico da estrutura de pastas e arquivos de um módulo PrestaShop profissional, incluindo /config, /controllers, /translations, /views e o arquivo principal .php.
A organização de diretórios correta para garantir a compatibilidade e a manutenção de módulos profissionais.

💬

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:

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

HookUso
displayHeaderScripts, CSS, metas
displayFooterScripts finais
displayHomeConteúdo da home
displayProductExtraContentConteúdo extra no produto

Hooks do Back-Office

HookUso
displayBackOfficeHeaderScripts no admin
actionAdminControllerSetMediaAssets no admin
displayDashboardTopWidgets

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)

Infográfico comparativo explicando o conceito de Override no PrestaShop, mostrando a diferença entre o comportamento padrão e a lógica customizada sem alterar o core.
Entenda como o PrestaShop prioriza arquivos customizados na pasta override para manter a integridade do sistema.

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:

  1. Classes
  2. Controllers
  3. 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érioHooksOverride
SegurançaAltaBaixa
FacilidadeFácilMédio/Avançado
ImpactoLocalGlobal
PerformanceMelhorPode piorar
ManutençãoSimplesComplexa

💬

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…

Guia visual de problemas comuns em PrestaShop, como conflitos de override, erros de sintaxe e módulos que não carregam, com suas respectivas soluções técnicas.
Guia prático de debugging para resolver conflitos de módulos e erros de performance na loja.

❌ 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:

  • actionValidateOrder
  • actionCartSave

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

  • displayProductExtraContent
  • displayFooterProduct

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

  • actionOrderStatusPostUpdate
  • actionProductSave

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:

Lista de boas práticas para desenvolvedores PrestaShop de nível avançado, incluindo uso de Git, ambiente de staging, isolamento de lógica e prefixos únicos.
Siga estas diretrizes para construir lojas PrestaShop sólidas, escaláveis e fáceis de manter.

🔹 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

Especialista PrestaShop analisando desempenho e otimizando loja virtual para melhorar performance e vendas
Especialista PrestaShop realizando análise técnica e otimização para melhorar desempenho, estabilidade e conversão da loja virtual.

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:

    Deixe um comentário

    PAGE TOP