Comment utiliser les hooks PrestaShop pour vos modules ?

Pour tout e-commerçant ou développeur utilisant PrestaShop, les hooks représentent une opportunité pour adapter et personnaliser le comportement d’une boutique sans toucher au cœur du code. Ils permettent d’ajouter des fonctionnalités, modifier l’affichage ou interagir avec des événements précis dans la boutique. Bien compris et correctement utilisés, les hooks offrent une flexibilité importante pour améliorer l’expérience client et la gestion de la boutique.

Qu’est-ce qu’un hook PrestaShop et pourquoi il change la donne ?

Définition simple

Un hook est un point d’ancrage dans le code de PrestaShop où un module peut s’insérer pour exécuter une action ou modifier un affichage. Il existe deux types principaux :

  • Les hooks front-office, visibles par les clients, comme l’affichage de promotions ou de produits recommandés.
  • Les hooks back-office, utilisés pour gérer le comportement administratif, comme l’ajout d’options dans le tableau de bord ou la gestion des commandes.

Les hooks permettent donc d’intervenir sans altérer le code principal du CMS, ce qui garantit la stabilité de la boutique et simplifie les mises à jour.

Pourquoi les utiliser systématiquement ?

Les hooks sont essentiels pour :

  • Ajouter ou modifier l’affichage des pages
  • Interagir avec les événements comme la création d’une commande ou l’inscription d’un client
  • Développer des modules compatibles et modulables, facilement déployables sur plusieurs boutiques

Ils offrent une solution adaptable à chaque situation, tout en évitant les conflits avec le code natif ou d’autres modules.

Identifier les hooks utiles pour vos modules

Hooks front-office incontournables

Dans le front-office, certains hooks sont utilisés très fréquemment :

  • displayHeader : insère du contenu dans l’en-tête de la boutique, utile pour ajouter des scripts ou messages promotionnels.
  • displayFooter : permet d’ajouter des informations ou liens en bas de page.
  • displayProductExtraContent : insère des contenus supplémentaires sur la page produit, comme des vidéos ou des recommandations.

Identifier le bon hook dépend de l’objectif du module. Ajouter un message promotionnel sur toutes les pages n’utilise pas le même hook que l’ajout d’un onglet sur une fiche produit.

Hooks back-office essentiels

Pour les interactions côté administration, les hooks les plus utiles sont :

  • actionAdminControllerSetMedia : permet d’ajouter des scripts ou styles personnalisés dans le back-office.
  • displayAdminOrder : insérer des options supplémentaires sur les pages de commandes, pratique pour les modules de gestion logistique.

En ciblant le bon hook, le module peut apporter une vraie valeur ajoutée sans complexité excessive.

Comment attacher votre module à un hook ?

Étape 1 : Déclarer le hook dans le module

Dans le fichier principal du module, il faut indiquer quels hooks seront utilisés. Par exemple :

public function install() {

    return parent::install() && $this->registerHook(‘displayFooter’);

}

Cette instruction enregistre le module sur le hook displayFooter, lui permettant de s’exécuter lorsque ce hook est appelé.

Étape 2 : Créer la fonction correspondante

Une fois le hook enregistré, il faut définir la fonction qui sera exécutée :

public function hookDisplayFooter($params) {

    return ‘<p>Contenu personnalisé ajouté au pied de page</p>’;

}

Cette fonction peut retourner du HTML, exécuter des scripts ou interagir avec des données du site.

Étape 3 : Tester et ajuster

Avant de publier le module, il est indispensable de tester sur différentes pages et situations pour vérifier que le hook fonctionne correctement et n’entre pas en conflit avec d’autres modules ou le thème.

Exemples de cas d’utilisation

Ajouter des promotions sur toutes les pages

Un module peut utiliser displayHeader pour afficher un bandeau promotionnel sur toutes les pages de la boutique. Le code peut inclure un texte dynamique, une image et un lien vers la promotion, mis à jour automatiquement selon les dates définies.

A LIRE AUSSI Qu’est-ce qui change entre PrestaShop 1.7 et PrestaShop 8 ?

Personnaliser la page produit

Le hook displayProductExtraContent permet d’insérer des informations complémentaires comme :

  • Vidéos de démonstration
  • Avis supplémentaires
  • Produits recommandés selon l’historique du client

Cela améliore la présentation du produit et l’expérience client, tout en restant modulable.

Suivi des commandes côté administration

Un module utilisant displayAdminOrder peut ajouter un champ supplémentaire dans la page commande pour indiquer un suivi logistique ou une note interne. L’administrateur gagne du temps et peut personnaliser le traitement des commandes.

Travailler avec l'agence CulturBan

Faites décoller vos ventes B2B !