Disponible pour missions & renforts d’agence · Réponse rapide, par la personne qui intervient

Override : définition

Un override est un fichier placé dans le dossier override/ de PrestaShop qui remplace le comportement d’une classe du cœur, sans modifier le fichier d’origine.

Décrire mon problème Discuter sur WhatsApp

Comment fonctionne un override

Chaque classe de PrestaShop, par exemple Product ou Order, peut être surchargée en créant un fichier du même nom dans override/classes (ou override/controllers pour un contrôleur). PrestaShop charge cette version à la place de l’originale, ce qui permet de modifier un comportement précis sans toucher au code source du CMS.

Contrairement à un module, qui s’accroche à des hooks définis à l’avance sans réécrire de méthode existante, un override peut redéfinir n’importe quelle méthode d’une classe cœur. C’est plus puissant, mais aussi plus fragile.

Le risque se situe au moment des mises à jour. Si PrestaShop modifie la classe d’origine, l’override écrit sur l’ancienne version peut entrer en conflit, provoquer une erreur, ou ignorer silencieusement le changement. Les overrides sont donc réservés aux besoins que les hooks ne couvrent pas, et doivent être documentés avant chaque montée de version.

Questions fréquentes

Faut-il éviter les overrides autant que possible ?
Oui dans la mesure du possible : un module basé sur les hooks est plus simple à maintenir. L’override reste utile quand aucun hook ne permet d’atteindre le comportement recherché.
Comment savoir si une boutique contient des overrides ?
Il suffit de vérifier le contenu des dossiers override/classes et override/controllers : tout fichier présent y indique une surcharge active.
Un override peut-il coexister avec un module sur la même fonctionnalité ?
Oui, mais cela complique le diagnostic en cas de bug, car le comportement final dépend à la fois du hook exécuté par le module et de la méthode réécrite par l’override.

Décrivez votre besoin en 1 minute

Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.

Pourquoi cette définition vous intéresse-t-elle ?
Quelle est votre plateforme, si vous en avez déjà une ? (facultatif)
Une question précise en tête ? (facultatif)

Posez-la telle quelle, la réponse vous reviendra directement.

Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.

Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.