Bienvenue sur le blog de l'agence Soluka !

Retrouvez des articles dédiés aux nouveautés dans le développement web, rédigés par des passionnés, ainsi que les dernières actualités de l'agence.

Recherche

Articles populaires

Jeux Phaser

29/09/14

Créer un nouveau hook PrestaShop

par Aymeric le 29 septembre 2014
R&D
Image Créer un nouveau hook PrestaShop

Avec le CMS PrestaShop, chaque module doit être fixé dans un point d’accroche, appelé hook. Il existe deux types de hook : les visibles et les invisibles. Par exemple, le hook actionCustomerAccountAdd est de type invisible car il se déclenche sur une action ; lorsqu’un compte client est créé avec succès. A l’inverse, le hook leftColumn est de type visible. C’est dans ce hook que sont accrochés les modules en colonne de gauche.

Lorsque l’on travaille sur un thème PrestaShop, il arrive d’avoir besoin de fixer un module à une position spécifique dans le cadre de son thème. Il est donc parfois nécessaire de créer un nouveau hook. Depuis la version 1.5 de PrestaShop, la création d’un hook est simplifiée. Dorénavant, plus besoin de se rendre dans la base de données, il suffit de suivre la méthode décrite ci-dessous :

1 / Modification du module

Pour l’exemple, nous simulerons vouloir accrocher le module blocknewsletter au hook que nous appellerons testSoluka. En effet, nous voulons pouvoir afficher ce module à un endroit précis de notre template. Pour ce faire, il faut commencer par modifier le fichier /blocknewsletter/blocknewsletter.php

Il faut modifier, comme ci-dessous, la fonction install() pour que le module se fixe dès son installation, dans notre nouveau hook.

public function install() {
		if (parent::install() == false || $this->registerHook(' testSoluka ')
}
blocknewsletter/blocknewsletter.php

Ensuite on crée la fonction qui sera appelée par notre nouveau hook.

public function hookTestSoluka ($params) {
	return $this->display(__FILE__, 'blocknewsletter.tpl');
}
blocknewsletter/blocknewsletter.php

Suite à ces modifications et afin qu’elles soient prises en compte, il est impératif de réinitialiser le module depuis le back-office de la boutique. Une fois cette action réalisée, notre module est accroché dans notre nouveau hook.

1 / Modification du template

On peut maintenant modifier le ou les fichiers template de son choix, et appeler le hook que nous venons de créer. Par exemple, si l’on souhaite faire apparaître notre nouveau hook dans le fichier index.tpl, il suffit d’insérer la ligne suivante :

{hook h=testSoluka}
index.tpl