[Prestashop 1.6+] Créer un override pour un module

Depuis la version 1.6, les équipes de Prestashop ont mis en place (enfin !) un système d’override des modules, propre et natif.

Dans ce tutoriel, je vais vous montrer comment l’utiliser et vous vous en rendrez compte, c’est très simple.

Admettons que nous souhaitons greffer le module « blocksearch » dans le hook displayFooter.

Commençons par :

  1. Créer un dossier du nom du module (ici « blocksearch ») dans le dossier /override/modules
  2. Dans ce fichier, créer le fichier « blocksearch.php »

 

Nous allons maintenant éditer ce fichier. D’abord, déclarons la classe :

<?php

class BlockSearchOverride extends BlockSearch {


}

Vous noterez que la spécificité de ce nouveau système d’override est ainsi l’ajout du suffixe « Override » au nom de la classe (au lieu de « Core » pour les classes ou les controllers).

 

Enfin, pour ajouter le hook en question, rien de plus simple :

public function hookDisplayFooter($params) {
	return $this->hookTop($params);
}

Il ne vous reste plus qu’à vider le cache de l’autoload en utilisant l’une de ces méthodes :

  • Back-office > Paramètres avancés > Performances : bouton « Vider le cache » en haut à droite
  • Suppression du fichier /cache/class_index.php

Le tour est joué !