Jump to content

Créer un module qui override une classe


Recommended Posts

Bonjour,

j'ai dû effectuer plusieurs adaptations sur des boutiques.

J'ai fait ça proprement via des overrides et j'aimerai en faire des modules pour les vendre sur ma boutique.

 

La question que je me pose est "comment gérer ça ?".

 

Je peux évidemment faire un module qui va copier l'override dans le dossier qui va bien mais que faire si un override existe déjà pour la classe en question ?

 

Si quelqu'un à déjà eu à faire ce genre de chose je veux bien quelques pistes, merci d'avance :)

  • Like 1
Link to comment
Share on other sites

Bonsoir,

 

Pour avoir un module composé principalement de surcharges (aussi bien classes que controllers Front/Back), je dois pouvoir répondre à la question.

 

Par contre, concrètement, je ne fais rien. Du moins, rien de plus que ce qui est natif. L'ensemble des surcharges est dans le dossier override du module. Et, au moment d'installation, c'est PrestaShop qui traite l'information en vérifiant l'existence de ce dossier et son contenu et en réaliser une copie.

 

Le seul bémol, et on ne peut finalement rien y faire, c'est que si une méthode est déjà surchargée, elle ne peut pas l'être une seconde fois. Et, donc, PrestaShop retourne le fait que l'installation de la surcharge a échouée.

Link to comment
Share on other sites

  • 1 month later...

Exact. Par ailleurs, et c'est le plus fou [comprendre qui veut pourquoi], il faut éviter les commentaires d'en-tête des méthodes. J'ai cru remarqué que - sauf si c'est corrigé depuis - lors de la suppression de la surcharge, ils n'étaient pas complément supprimés et donc le fichier devient inutilisable. Il provoque même une erreur de syntaxe, qui plus est !

Link to comment
Share on other sites

Très honnêtement, je n'ai pas perdu mon temps à essayer, sur le coup. Ceci dit, je ne sais même pas trop pourquoi ça faisait ce truc...

 

... de souvenirs, c'était également lié à la surcharge de la variable $definition. Que je ne recommande donc pas (je recommande plus vite l'ajout des nouveaux champs éventuels au moment du constructeur).

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...