Jump to content

Ajouter des hooks ?


fch

Recommended Posts

Hello !

Vu que j'ai un processus de commande complexe, j'ai besoin de hook supplémentaire au niveau de la gestion du panier, notamment lors de l'ajout de produits au panier.
Y'a t'il une procédure à suivre pour rajouter des hooks ?

A+

Link to comment
Share on other sites

Hello !

Il y a effectivement de nombreux topics à ce sujet, mais dans tous les cas, ils préconisent de hacker prestashop, ce qui me pose des problèmes vis à vis des futures mises à jour qui ne manqueront pas d'arriver et qui seront nécéssaires vu le nombre de bugs critiques sur les versions déjà sorties.

Je cherche donc une méthode non intrusive pour rajouter des hooks, ou bien à connaître la procédure permettant de demander aux développeurs de rajouter des hooks.

Je cherche à lier des informations au panier de mon client lors de l'ajout d'un produit dans son panier, le hook 'cart' étant déclenché bien trop tôt par rapport à mes besoins.

J'ai de plus également besoin d'un hook pour compléter le calcul du prix de mon produit.

A+

Link to comment
Share on other sites

Alors, 2 choses ^^


1 : L'ajout d'un hook n'est pas du Hacking. A aucun moment aucun fichier du noyau de prestashop n'est modifié lors de l'ajout d'un hook. Une inscription en plus dans la base de données, et des indications dans les fichiers tpl et sur un fichier php (généralement header.php).
Une ligne à ajouter dans le fichier php en cas de mise à jour, voila tout.


2 : Ce n'est pas l'ajout d'un hook qu'il faut faire ici, mais la modification d'un module, probablement "blockcart"

Link to comment
Share on other sites

Alors 4 choses ^^

1: header.php est un fichier du noyau de prestashop.
2: Les hooks dont j'ai besoin sont appelés par des requêtes POST, donc les hooks dans les templates, bof.
3: J'ai déjà creusé du côtè de blockcart et cette piste n'est pas viable par rapport à ma problématique.
4: Le problème de la gestion du prix de mon produit reste entier.

Pour aider, quelques infos supplémentaires :
La boutique vend des supports personalisables (tee-shirt, radio, ce que vous voulez).
Chaque support peut être personnalisé en fonction de sa matière et de son groupe de couleur (au passage, si quelqu'un sait comment ajouter des propriétés à un produit dans le back office sans passer par une redirection http via les hook addProduct/updateProduct vers un autre formulaire html, je suis preneur).
Cette personalisation a un tarif, qui dépend de la quantité de support commandée.
Le client peut commander le support vierge ou avec personalisation.
Il faut donc que je stocke le support et la personalisation éventuellement associée par le client à ce support dans le panier, et que je puisse calculer le prix de l'ensemble.

A+

Link to comment
Share on other sites

hmm, ce que j'appel noyau, c'est surtout les classes de prestashop, toute la gestion interne (dossier /Classes/). header.php, c'est "juste" une page du site. Pas un élément caractérisant le fonctionnement de base de prestashop.

On appel pas un hook via des requêtes POST. ça ne veux, tout du moins je le pense, rien dire. Un hook est un emplacement qu'on indique à smarty afin qu'il inclus du code. On appel pas un hook tout seul, smarty s'occupe d'aller chercher dans la base de données les modules inscrits sur ce hook lorsqu'il rencontre le hook dans un fichier de template (.tpl). Donc oui, on met un hook dans un template. Le template, quand à lui, est soit appelé par un module (tous les .tpl inclus portant le nom d'un module sont appelés ainsi), soit par un fichier .php contenu à la racine du site.


Pour ce qui est de l'application du principe de la boutique, je crois que le sujet avait déjà été abordé, et je ne crois pas qu'un solution ai été trouvée.

voici deux sujets qui en parle, avec des pistes pour les deux :

http://www.prestashop.com/forums/viewthread/31296/
http://www.prestashop.com/forums/viewthread/29180/

Il faudrait sans doute contacter les auteurs des sujets pour voir ce qu'ils ont fait.


Mais je maintient ce que je disais : ajouter un hook ne résoudra rien. c'est dans les fichiers .php d'un module ou d'un "fichier du noyau prestashop mais pas trop" qu'il faudra faire les modifications.


Bon courage dans tous les cas pour la suite, cette fonctionnalités est très demandée, peut-être que je me pencherais dessus lorsque mon module actuellement en développement sera fini.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...