Disponible pour missions & renforts d’agence · Réponse rapide, par la personne qui intervient

Hook : définition

Un hook est un point précis du code de PrestaShop où un module peut exécuter sa propre logique, sans toucher aux fichiers du cœur.

Décrire mon problème Discuter sur WhatsApp

À quoi sert un hook

PrestaShop déclenche des dizaines de hooks à des moments précis : affichage de l’en-tête, ajout d’un produit au panier, validation d’une commande, affichage du pied de page. Un module s’y accroche en appelant registerHook() lors de son installation, puis en implémentant une méthode portant le nom du hook, par exemple hookDisplayHeader pour insérer une balise dans le <head>, ou hookActionValidateOrder pour réagir à chaque commande validée.

Cette mécanique évite de modifier les fichiers natifs de PrestaShop. Pour un e-commerçant, c’est ce qui garantit qu’une fonctionnalité ajoutée par un module continue de fonctionner après une mise à jour de la boutique, tant que le hook existe toujours dans la version cible.

Le revers de la médaille apparaît quand plusieurs modules s’accrochent au même hook : leur ordre d’exécution, réglable dans le back-office, peut provoquer des conflits visuels si deux modules injectent du contenu au même endroit.

Questions fréquentes

Un hook peut-il être ajouté à une page qui n’en propose pas ?
Oui, via un hook personnalisé déclaré par un module ou un thème, mais cela demande du développement : par défaut, seuls les hooks déjà présents dans la page sont disponibles.
Pourquoi un module installé n’affiche-t-il rien sur la boutique ?
Souvent parce qu’il n’est pas positionné sur le bon hook, ou que le thème n’appelle pas ce hook dans ses templates. Cela se vérifie dans la position des modules du back-office.
Modifier une méthode hookXxx dans un module tiers est-il risqué ?
Oui : la modification sera perdue au prochain remplacement du module lors d’une mise à jour. Mieux vaut créer un module dédié pour un besoin durable.

Décrivez votre besoin en 1 minute

Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.

Pourquoi cette définition vous intéresse-t-elle ?
Quelle est votre plateforme, si vous en avez déjà une ? (facultatif)
Une question précise en tête ? (facultatif)

Posez-la telle quelle, la réponse vous reviendra directement.

Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.

Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.