Falcaol Posted January 5, 2022 Share Posted January 5, 2022 Bonjour, Je suis sous prestashop 1.6 J'ai un fichier PHP où j'ai assigné une URL à une variable $newUrl J'ai ensuite voulu assigner cette variable à Smarty de cette façon : $this->context->smarty->assign('newUrl', $newUrl); J'ai également ajouté cette ligne : return $this->module->display($this->file, 'displayPayment.tpl'); Dans mon fichier tpl, j'ai ajouté un {debug}, mais je ne trouve pas ma variable dans le debug, du coup impossible de l'appeler. Quelqu'un pourrait m'aider s'il vous plait ? Link to comment Share on other sites More sharing options...
cryoth Posted January 5, 2022 Share Posted January 5, 2022 Bonjour ! Commençons par le commencement, as-tu vidé ton cache smarty ? Ensuite il n'y a pas beaucoup de visibilité sur ton code, ou as-tu appliqué ton smarty->assign() un controller custom ou un existant ? Link to comment Share on other sites More sharing options...
Falcaol Posted January 5, 2022 Author Share Posted January 5, 2022 Merci pour ta réponse, Je n'avais pas vidé le cache, je viens de le faire mais ca n'a pas résolu le problème C'est un controller custom si je me trompe pas ( vraiment désolé, je débute, c'est le premier module que je fais et mes notions en programmation sont un peu approximatives .... ) Je suis en train de créer un payment gateway, je dois appeler une API en lui envoyant mon panier , et l'API me renvoi un lien. J'ai donc créer un controller "displayPayment.php" où je fais mes appels, ca me retourne alors une URL que j'ai assigné à $newUrl Mais impossible d'assigner cette variable à Smarty, en tout cas je pense que c'est ça le problème. Le fichier displayPayment.php se trouve dans le dossier /monMondule/controllers/hook/displayPayment.php Le fichier displayPayment.tpl se trouve dans le dossier /monModule/views/templates/hook/displayPayment.tpl Link to comment Share on other sites More sharing options...
cryoth Posted January 5, 2022 Share Posted January 5, 2022 as-tu déjà tenté de voir si ton template était bien appelé ? Je veux dire par là est-ce-que tu as ton controller qui s'active bien lors de l'appel du hook sur lequel tu l'as assigné ? Est-ce-que tu as fait un simple die() dans ton controller pour voir si il s'exécutais bien en général ? Si ton controller ne s'exécute pas tu ne pourras dans tous les cas pas voir tes envois. Link to comment Share on other sites More sharing options...
Falcaol Posted January 5, 2022 Author Share Posted January 5, 2022 Bon, la c'est le moment où je suis perdu 😭 Effectivement, je ne suis pas sûr que mon controller s'active bien Comment puis-je faire mon die() ? Est ce que je dois créer une condition et si rien ne se passe -> die() ? J'ai essayé googler, mais je pense que j'aurai ma réponse plus rapidement si je te le demande Link to comment Share on other sites More sharing options...
cryoth Posted January 5, 2022 Share Posted January 5, 2022 Alors tout simplement je te propose de mettre ton die() au debut de ton controller sans condition préalable. Si ton controller est bien appelé tu ne verra que les echo/var_dump présent avant ton die() sinon ben ton controller n'est même pas appelé et il faudra faire en sorte qu'il soit appelé sur le hook que tu souhaite. Je vois bien que tu as l'air un peu perdu et tu ne trouvera que peu d'info sur comment construire un module proprement donc je te recommande la doc officiel qui vaut ce qu'elle vaut mais c'est toujours ça : https://devdocs.prestashop.com/1.7/modules/ c'est du 1.7 par contre attention tout ne marchera pas en 1.6 Sinon la meilleure école reste de prendre des modules existants et de les décortiquer pour comprendre leur fonctionnement voici un petit kdo : https://validator.prestashop.com/generator Cet outil te permet de générer un "squelette" de module selon le type de module que tu veux développer. Crée toi un "payment module" et décortique son fonctionnement, dans mes souvenirs le code est plutôt bien commenté. Je te souhaite bonne chance ! Link to comment Share on other sites More sharing options...
Falcaol Posted January 5, 2022 Author Share Posted January 5, 2022 (edited) Merci pour ta réponse ! J'avais commencé mon module avec le validator et en regardant la doc de Prestashop. Mais je me suis quand même retrouvé perdu 😆 Alors si j'ai bien fais mon die(), effectivement mon controller n'est pas bien activé... En tout cas, c'est cool, je peux arrêter de chercher pourquoi les variables ne s'assignent pas 😅 Maintenant, pourquoi mon controller ne s'active pas ? Je vais faire des recherches mais si tu as une idée, je suis preneur edit: est ce que je peux laisser mon controller dans le dossier /hook/ ? Ne devrais-je pas le mettre dans le /front/ ? Edited January 5, 2022 by Falcaol (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted January 5, 2022 Share Posted January 5, 2022 une lecture saine : https://devdocs.prestashop.com/1.7/modules/payment/ Link to comment Share on other sites More sharing options...
Falcaol Posted January 7, 2022 Author Share Posted January 7, 2022 J'avais déjà lu la doc pas mal de fois, mais finalement problème résolu Merci à vous Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now