bayzazi Posted January 30 Posted January 30 (edited) Bonjour à tous ! ChatGPT ne m'a pas aidé ... Pas sur que commencer comme ça soit la meilleure méthode, c'était une blague Mon problème : Je développe un module qui va appeler une API lors du hook updateOrderStatus J'ai donc besoin de guzzle. Mais je n'arrive pas à comprendre si je dois installer guzzle dans les dépendances du module (et on aurait du duplicate namespace, potentiellement, car il est déjà utilisé par d'autres modules) et si oui, comment execute-t-on composer à l'install d'un module ? En effet, à la fin je vais le zipper pour l'installer sur la prod. Comment va t'il faire le composer install ? J'ai regardé les modules du core, dans le fichier d'install, aucun vendor n'est initialement présent, il semblerait que ce soit à l'install que les dépendances se chargent, pour chaque module. Pourriez vous m'éclairer sur le process ? Merci par avance ! EDIT : Presta 1.7 Edited January 30 by bayzazi (see edit history) Share this post Link to post Share on other sites More sharing options...
bayzazi Posted February 2 Posted February 2 Je tente de remonter la question, ocazou ? Share this post Link to post Share on other sites More sharing options...
Janett Posted February 3 Posted February 3 Salut, C'est rarement une bonne idée de faire un appel à une API sur un hook comme actionOrderStatusUpdate car il faut prendre en compte que ce hook peut être appelé plusieurs fois dans la même requête HTTP. Par exemple, sur le listing des commandes dans le BO, il est possible de mettre à jour le status de plusieurs commandes en même temps, en fonction du volume cela peut causer de gros ralentissement voir un timeout. Prenons l'exemple d'un marchand qui procède ainsi au changement du status de commande de 50 commandes en même temps depuis cette page, le hook sera appelé au minimum 50 fois, générant ainsi 50 appels API... Attention également, certains API ont un Rate Limit qui peuvent bloquer si trop d'appels sont effectués dans un court laps de temps. Enfin concernant composer, on trouve toutes les réponses à tes questions dans la documentation à priori : https://devdocs.prestashop-project.org/1.7/modules/concepts/composer/ Share this post Link to post Share on other sites More sharing options...
bayzazi Posted February 3 Posted February 3 Bonjour, merci de ton retour. Certes, pour le hook, je vais y réflechir .. Verrais tu une alternative ? Une action doit se déclencher lorsque la commande passe au statut "paiement accepté". Concernant composer, j'ai bien vu la chose, et comprend bien l'idée. Mais qui de l'install du module du coup ? A chaque install il faut lancer un composer install dans le rep du module ? ça me semble lourd ! Share this post Link to post Share on other sites More sharing options...
Janett Posted February 24 Posted February 24 (edited) On 2/3/2023 at 11:14 AM, bayzazi said: A chaque install il faut lancer un composer install dans le rep du module ? Salut, Pas du tout, ton zip doit déjà contenir tes dépendances https://devdocs.prestashop-project.org/1.7/modules/concepts/composer/#important-notes Le zip de ton module est appelé "release package" dans la devdocs, tu dois faire le composer install avant de faire ton ZIP, il n'y aura donc pas besoin de faire de composer install lors de l'installation du module car le ZIP contient déjà toutes les dépendances. A noter que si ton module utilise des dépendances déjà présentes nativement sur PrestaShop, tu n'as pas besoin de les inclure dans ton ZIP. Par exemple, Guzzle est déjà livré avec PrestaShop 1.7 et 8.0 mais si ton module vise PrestaShop 1.6 tu dois l'inclure car cette version ne l'inclus pas nativement. Edited February 24 by Janett (see edit history) Share this post Link to post 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