jomcdonald Posted October 1, 2016 Share Posted October 1, 2016 Bonjour, Je suis face à un problème que je n'arrive pas à résoudre car trop compliqué pour moi. J'ai un override du fichier StockAvailable.php mais je souhaiterais que cet override ne soit pas actif sur la page de sélection des transporteurs. Si quelqu'un sait comment faire? Merci Link to comment Share on other sites More sharing options...
jomcdonald Posted October 7, 2016 Author Share Posted October 7, 2016 Personne pour m'aider? Link to comment Share on other sites More sharing options...
jomcdonald Posted October 10, 2016 Author Share Posted October 10, 2016 Bonjour et merci pour l'astuce mais ça ne fonctionne pas. J'ai mis en place ce code pour activer l'override si on se trouve sur une autre page que step 2: if(Tools::getValue('step') != 2) Mon but était de modifier le comportement du module date de livraison mais rien n'y fait. Link to comment Share on other sites More sharing options...
jomcdonald Posted October 10, 2016 Author Share Posted October 10, 2016 Voila son code: public static function getQuantityAvailableByProduct($id_product = null, $id_product_attribute = null, $id_shop = null) { if(Tools::getValue('controller')=='AdminProducts') return parent::getQuantityAvailableByProduct($id_product, $id_product_attribute, $id_shop); $quantite_magasin=parent::getQuantityAvailableByProduct($id_product, $id_product_attribute, $id_shop); $quantite_total=$quantite_magasin; if(Configuration::get('megaimporter_STOCK_SUPPL')) { $query = new DbQuery(); $query->select('SUM(megaimporter_stock)'); $query->from('product_supplier'); if ($id_product_attribute !== null) $query->where('id_product_attribute = '.(int)$id_product_attribute); if ($id_product) $query->where('id_product = '.(int)$id_product); $quantite_supplier = (int)Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue($query); $quantite_total=$quantite_magasin+$quantite_supplier; } return $quantite_total; } Link to comment Share on other sites More sharing options...
jomcdonald Posted October 10, 2016 Author Share Posted October 10, 2016 Merci mais toujours pas d'effet sur le module en question. Je pense qu'il y a autre chose qui rentre en compte mais je ne vois pas. Merci tout de même. Link to comment Share on other sites More sharing options...
jomcdonald Posted October 10, 2016 Author Share Posted October 10, 2016 En fait, je met en place un système avec stock magasin et stock fournisseur. Au lieu de travailler avec le stock avancé, j'ai laissé le stock prestashop de base pour le magasin et j'ai créé des stock par fournisseur. Du coup quand un produit est à 0 en stock magasin mais est dispo en stock fournisseur, il reste commandable. Mais le souci c'est que le module date de livraison prend en compte le stock prestashop + le stock fournisseur pour calculer le délai de livraison, du coup mes délais sont faux puisque je souhaite définir des délais différents selon l'état du stock. Stock prestashop = en stock Stock fournisseur = hors stock Merci Link to comment Share on other sites More sharing options...
jomcdonald Posted October 10, 2016 Author Share Posted October 10, 2016 Bon j'ai refais des test et ça marche avec le code if( Tools:GetValue('step') == 2 ) { La méthode overridée } else { La méthode d'origine } Donc merci beaucoup. Il reste juste un petit bug quand un produit est en stock prestashop mais que j'en commande plus que ce qu'il y a, la date de livraison ne change pas alors que si je commande un produit hors stock là le délai change et correspond à la configuration du module date de livraison. Link to comment Share on other sites More sharing options...
jomcdonald Posted October 10, 2016 Author Share Posted October 10, 2016 Je n'ai pas très bien compris t'a réponse mais merci pour l'aide, ça m'a permis de solutionner un autre problème. 1 Link to comment Share on other sites More sharing options...
jomcdonald Posted November 12, 2016 Author Share Posted November 12, 2016 Bonjour, Je reviens ici car je veux faire la même chose mais pour un module cette fois-ci. Je souhaite désactiver l'override pour le module Amazon. Quelque chose du style: if( modulename == amazon ) { La méthode overridée } else { La méthode d'origine } Link to comment Share on other sites More sharing options...
jomcdonald Posted November 12, 2016 Author Share Posted November 12, 2016 (edited) Oui pour être plus précis l'override sera ainsi : if( Tools:GetValue('step') == 2 or modulename == Amazon ) { La méthode d'origine } else { La méthode override } Edited November 12, 2016 by jomcdonald (see edit history) Link to comment Share on other sites More sharing options...
jomcdonald Posted November 12, 2016 Author Share Posted November 12, 2016 Merci, Le problème c'est que je n'ai rien qui ressemble de prêt ou de loin à StockAvailable dans amazon.php Je pensais q'une variable de ce style pouvais solutionner le problème If (Tools::getValue('module')=='Amazon')) Link to comment Share on other sites More sharing options...
jomcdonald Posted November 12, 2016 Author Share Posted November 12, 2016 Ok j'ai fait la recherche et 0 résultat. Link to comment Share on other sites More sharing options...
jomcdonald Posted November 12, 2016 Author Share Posted November 12, 2016 (edited) Bon je viens de trouver une solution en faisant cela: if( Tools::getValue('step') == 2 or Tools::getValue('amazon_token')) Je ne sais pas si c'est propre mais ça à l'air de marcher. Merci pour le coup de main, c'est toujours sympa une personne comme toi. Edited November 12, 2016 by jomcdonald (see edit history) 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