Jump to content

impossible d'installer mon module


Recommended Posts

Bonjour

 

lisez en premier le readme ou l'install du module il doit y avoir une procédure d'installation

car ce module doit surcharger une classe et donc doit copier un fichier  de surcharge dans override/controllers/admin/

 

manifestement au vu du message un fichier AdminProductsController contenant la méthode postProcess existe déjà
 

 

bonne journée

Natacha
 

Link to comment
Share on other sites

oui c'est ça, un précédent module a installé un override pour la fonction postProcess dans le fichier votre_boutique.com/override/controllers/admin/AdminProductsController.php et là vous essayez d'installer un autre module qui veut aussi installer un override pour la fonction postProcess.

2 solutions :

- vous savez programmer en PHP et là vous pouvez modifier l'override de la fonction postProcess qui est déjà en place avec la fonction postProcess qui est dans votre nouveau module

- vous ne savez pas programmer et là vous devez contacter le webmaster qui a fait le module que vous essayez d'installer.

Link to comment
Share on other sites

  • 1 year later...
Bonjour, 

Pour information, nous avons développé un module qui devrait vous aider. 

Il a été exclusivement créé pour ne plus rencontrer l'erreur  '"impossible d'installer la surcharge : la methode XXXX dans la classe YYY est déjà surchargée" que vous mentionnez.

je vous laisse le lien ci-dessous  :


Link to comment
Share on other sites

Bonjour et merci de l'intérêt que vous portez à notre module.

 

Nicolas m'a mentionné votre post et du coup j'en profite pour vous répondre.

 

Pourquoi du multioverride ?

Tout simplement car Prestashop propose déjà de l'override mais qu'il ne permet pas de cumuler des modules qui overrident la même zone.

Du coup certains modules ne sont pas compatibles entre eux... sic...

Je crois même que certains concepteurs de modules, comme nous, limitent leurs modifications dans cette zone pour éviter le SAV généré.

Hors, à notre gout, c'est dommage car c'est une manière propre d'organiser et d'isoler le code que nous produisons pour nos clients.

 

Configurer l'ordre des overrides ?

L'ordre des overrides est tout simplement l'ordre d'installation des modules.

Toutefois, nous avons déjà prévu le coup afin de développer cette fonctionnalité de gestion de l'ordre (mais l'interface n'existe pas encore).

Dans la version actuelle, on peut changer l'ordre, en modifiant une variable de configuration que l'on pose dans ps_configuration.

Par contre, je reconnais que ce n'est pas très simple pour un débutant :)

 

C'est d'ailleurs pour cela que, dans notre roadmap (pour ce module), il est prévu d'inclure une interface pour pouvoir réaliser cette action (ce sera plus simple).

 

Qu'en pensez-vous ?

Edited by pliciweb_stephane (see edit history)
Link to comment
Share on other sites

Le SAV généré est extrêmement faible, je le sais par expérience, sur 1000 ventes c'est 1 ou 2 cas, qui en général se résolvent très facilement.

 

Personnellement, je ne pense pas que ça puisse fonctionner dans tous les cas et ce n'est pas une question d'ordre, ça dépend des actions réalisées par ces overrides.

Link to comment
Share on other sites

Nous sommes ravis que vous n'ayez ce cas qu'une fois sur mille et que cela se résolve facilement.

Pourtant notre module a semblé susciter un peu d'intérêt : https://twitter.com/PrestaEdit/status/628940603137609728?nav=true

De notre côté, il nous est déjà arrivé de perdre du code à cause de cet effet pervers des override (Mais heureusement que nous travaillons avec Subversion pour versionner et revenir en arrière).

 

D'un point de vue plus pragmatique, je suis bien d'accord avec vous, il peut y avoir certains cas que nous ne pourront pas régler (ex : modules mal développés mais à mon goût, la validation de PrestashopAddon devrait éviter ce genre de développements).

Mais, de fait, l'héritage étant maintenant possible, même si certains cas bien précis et rares ne fonctionnent pas, alors cela marchera de toute manière beaucoup mieux :)

 

Je pense même que cela peut ouvrir de nouveaux horizons.

Link to comment
Share on other sites

mon cerveau doit déjà être en week end, je ne comprend pas comment on fait pour perdre du code en installant un module ayant un override qui existe déjà, c'est quoi un module mal développé ?(un module avec override?),  la validation addons a surtout pour but de vérifier si il y a un espace entre if et la parenthèse qui suit (bien : if (   pas bien : if(  ), elle ne vérifie pas le fonctionnement d'un module.

 

 

si votre module fonctionne et qu'il peut aider les gens, alors tant mieux pour eux.

Edited by coeos.pro (see edit history)
Link to comment
Share on other sites

Le Besoin

Je vous remercie d'avoir édité votre post et d'avoir rajouté une note d'optimisme "si votre module fonctionne et qu'il peut aider les gens, alors tant mieux pour eux.", car effectivement à l'origine c'était un peu sec.

C'est aimable d'avoir pris en compte le fait que ce module suscite de l'intérêt.

 

Perte de code

1er cas

Pour la perte de code, c'était dû à un module qui copiait les override directement dans le répertoire override par sa fonction "copy".

Et du coup, ça fait exploser le code posé par les autres modules.

Il faut noter que c'est un cas que l'on résout en partie car on isole le code des autres modules.

Du coup, la reconstruction est plus simple et sans pertes de données.

 

Il se trouve même que si on a uniquement un seul module qui fait cette action de copie moche et brutale, il ne casse pas l'héritage entre les modules.

Notre système le reconstruit automatiquement.

 

2ème cas

Le second cas que nous résolvons complètement, c'est celui où vous faites le "merge" à la main. Et qu'ensuite, votre client décide de désinstaller un des modules concerné par le double override.

Car, actuellement, si cela se passe, toute la fonction va sauter et vous allez perdre du code. Votre client aura un site qui ne fonctionne plus comme il le souhaite (ou qui plante).

Hors ce ne sera plus le cas avec notre module car le système évite ce soucis en reconstruisant systématiquement l'héritage.

 

PrestashopAddon 

Je vous rejoins sur le validateur de code qui ne vérifie que la syntaxe.

Mais ensuite le module est validé par la partie technique (et humaine) de Prestashop.

Personnellement, je pense qu'ils veillent à une certaine qualité des modules pour le bienfait de leur modèle économique et de leurs clients.

 

Conclusion

Je vous remercie car votre suspicion nous offre l’opportunité de bien expliquer ce que ce module permet de résoudre.

D'ailleurs j'essai, à chaque fois d'être le plus précis possible.

Cela permet de mieux détailler sa valeur et son sérieux.

 

Notre module fonctionne et nous l'avons déjà installé, avec satisfaction, sur plusieurs de nos sites.

 

Merci de ces échanges. 

 

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...