Raph59 Posted November 17, 2012 Share Posted November 17, 2012 (edited) Bonjour, J'utilise la version 1.4.9.0 J’essaie de faire en sorte d'executer le hook updateQuantity afin que tout les modules qui doivent faire quelque chose le fasse, car il arrive que les quantités soit modifié directement dans la BDD, entre autre par exemple pour que le module mailalerte envoie les mail de réapprovisionnement au gens qui en ont fait la demande. J'ai donc intégré à un script déjà existant (un module) qui est automatiquement lancé à toute les 30 min ceci: /* AJOUT RAPH POUR ACTIVER LE HOOK UPDATE PRODUCT */ //$productsListHooks = Db::getInstance()->ExecuteS('SELECT `id_product` FROM `'._DB_PREFIX_.'product` WHERE `active` = 1 AND TIME_TO_SEC(TIMEDIFF(NOW(), `date_upd`)) < 2100'); $productsListHooks = Array(Array('id_product' => '1600'));// J'AI MIT CECI POUR TESTER if($productsListHooks) foreach($productsListHooks as $productsListHook) { if (Validate::isLoadedObject($productobj = new Product((int)$productsListHook['id_product']))) { $productobj->quantity = 15;//J'AI MIT CECI POUR TESTER Module::hookExec('updateQuantity', array('product' => $productobj, 'order' => null)); //TESTé AVEC LUI OU L'AUTRE DU DESSOUS MAIS AUCUN NE FONCTIONNE //Hook::updateQuantity($productobj, null); die($productsListHook['id_product']); } else die('pas bon'); } La première ligne c'est la requete SQL pour appeler les produit qui ont été modifié mes dernier 35 min (le module qui modifie directement les quantités en BDD met à jours cette date), mais pour tester je la commente et je met le produit 1600 car je sais que ce produit devrait envoyer un mail de réapprovisionnement à mon mail.. Donc pour le moment avec ce bout de script quand je l'appel, j'ai la page blanche indiqué 1600, mais aucun mail n'est envoyé.... Je suis peut être passé à coté de quelque chose, c'est la première fois que j’essaie faire en sorte que les hook s’exécute. Merci Edited November 17, 2012 by Raph59 (see edit history) Link to comment Share on other sites More sharing options...
Raph59 Posted November 17, 2012 Author Share Posted November 17, 2012 Finalement c'est ok, mais bon je remet en question cette solution car j'utilise des déclinaisons et comme le date_upd se base sur le produit et la quantité du produit et non sur les déclinaison... bref en attendant pour ce problème précis, c'est résolue! Et pour ceux qui se demande c'était quoi le problème (ben oui, quoi de pire que quelqu'un qui dit c'est résolue et qui dit rien de plus ) c'était juste une erreur de ma part... if (Validate::isLoadedObject($productobj = new Product((int)$productsListHook['id_product']))) ca ne fonctionne pas, il faut mettre à la place $productobj = new Product((int)$productsListHook['id_product']); if (Validate::isLoadedObject($productobj)) et la ça fonctionne 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