html Posted June 15, 2015 Share Posted June 15, 2015 Bonjour à tous, je viens d'acheter un module que je ne peux pas installer voici le message d'erreur de presta. Comment faire pour remedier à ce problème .? Erreur Le ou les module(s) suivant(s) n'ont pas été installé(s) correctement : orderfees : Impossible d'installer la surcharge : La méthode getOrderTotal de la classe Cart est déjà surchargée par le module pproperties version 2.14 au 2015-06-13 16:34:54 . Link to comment Share on other sites More sharing options...
Badea Posted June 15, 2015 Share Posted June 15, 2015 Pour y remédier tu peux désinstaller module pproperties ou alors modifier le code du module que tu viens de prendre pour qu'il ne dépende plus d'une surcharge pour fonctionner Link to comment Share on other sites More sharing options...
html Posted June 15, 2015 Author Share Posted June 15, 2015 Bonjour, réponse inintérressante :-( si j'ai besoin des deux modules ce n'est pas pour rien... et si les classes sont étendues ce n'est pas pour rien non plus... Link to comment Share on other sites More sharing options...
Badea Posted June 15, 2015 Share Posted June 15, 2015 Les deux modules ont besoin de surcharger la même méthode, tu ne peux pas réécrire en une seule surcharge ? C'est pas génial mais ça ne prendra pas longtemps :s 1 Link to comment Share on other sites More sharing options...
html Posted June 15, 2015 Author Share Posted June 15, 2015 Ca peut etre une solution... Si je fais ça le module pourra t'il s'installer .? Link to comment Share on other sites More sharing options...
Badea Posted June 15, 2015 Share Posted June 15, 2015 Oui car seul l'un des deux modules apportera la surchage à la méthode qui t'intéresse. Il faudra enlever la surcharge dans l'autre module bien entendu, à noter que ce module sera maintenant dépendant de celui qui ajoute la surcharge. Gni :3 Link to comment Share on other sites More sharing options...
Eolia Posted June 15, 2015 Share Posted June 15, 2015 Il faut réfléchir un peu et regarder qu'est-ce qui est modifié par ces 2 surcharges. Même si c'est la même méthode, ce ne sont peut-être pas les mêmes lignes qui sont modifiées/ajoutées. Un mix, s'il est possible reste la meilleure solution. On touche ici aux limites de l'override. Link to comment Share on other sites More sharing options...
html Posted June 15, 2015 Author Share Posted June 15, 2015 Re ! Donc effectivement c'est compliqué de surcharger une methode deux fois, même peut etre impossible ! J'ai donc commenté ma méthode dans un override d'un des deux modules. L'installation c'est bien passé et il ny'a pas d'erreur. Ma question est puis je implémenter la fonction dans l'override de l'autre module, en laissant l'override du premier module normale.? Ou faut il fusionner les deux fichiers ? Une seule méthode pose problème en faite.. Comme ça fait très très longtemps que je n'ai plus codé que renvoi cette fonction .? /*public function getOrderTotal($with_taxes = true, $type = Cart::BOTH, $products = null, $id_carrier = null, $use_cache = true) { if (in_array($type, array(self::BOTH, self::ONLY_DISCOUNTS))) $this->currentType = $type; return parent::getOrderTotal($with_taxes, $type, $products, $id_carrier, $use_cache); }*/ Ps: ça ne fait pas d'erreur mais je sais pas si ça marche très bien... Link to comment Share on other sites More sharing options...
Badea Posted June 15, 2015 Share Posted June 15, 2015 Cette fonction retourne le résultat de la fonction original que tu surcharge d'où l'appel en utilisant parent::GetOrderTotal. Pour faire ce que tu veux tu dois grouper les deux overrides, faire un mix. Donne le code des deux surcharges si tu veux un peu plus d'aide ^^ 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