Quantcast

ps_logo_shareLe CMS PrestaShop permet la mise en place rapide et efficace de boutique en ligne pour les débutants. Dans le cadre de personnalisation de la boutique avec des modules particuliers et une configuration spécifique, il est possible de créer des modules qui seront activables dans le back-office.

Une fois ce module activé dans le back-office, il faut l’accrocher à un endroit de la boutique pour permettre de lancer les traitements de ce module.

1. Création du module

Pour faciliter la création de votre module, vous pouvez télécharger ce canvas pour module Prestashop 1.6.

2. Ajout de votre hook personnalisé dans la base de données

Par exemple, si vous souhaitez ajouter le hook ProSoft dans votre module pour qu’il apparaisse sur la page des produits, il vous suffit de taper cette requête SQL qui ajoutera le hook dans votre base de données.

INSERT INTO ps_hook (name, title, description, position, live_edit) VALUES (‘ProSoftHook’, ‘ProSoftHook’, ‘Exemple de module avec hook personnalise.’, 1, 1);

3. Modification de votre module

  • Enregistrement de votre hook dans votre module

Dans le code de votre module que vous avez développé, il vous faut enregistrer le hook lors de l’installation du module.

Pour cela, il vous suffit d’ajouter le code en gras dans la fonction install() de votre module.

public function install() {
if (parent::install() == false || $this->registerHook(‘ProSoftHook’)
}

  • Création de la fonction qui sera appelée par votre hook

Dans notre exemple, le hook fera appel à une page de template prosoft dans laquelle vous pouvez par exemple mettre une fonction javascript d’affichage de message pour tester son fonctionnement.

public function hookProSoftHook ($params) {
return $this->display(__FILE__, ‘prosoft.tpl’);
}

Pour que les modifications soient prises en compte, vous devez réinitialiser le module.

4. Modification du template pour faire apparaître le hook

Enfin, pour faire apparaître votre hook dans la page produit de Prestashop, modifier le code de la page produit.tpl qui se trouve dans votre dossier de thème et ajouter à l’endroit de votre choix le code suivant qui fera appel au hook de votre module.

{hook h=ProSoftHook}

Ainsi, si vous désactivez votre module, le hook ne sera plus fonctionnel.