Project

General

Profile

Actions

L'Override

Le système d'override permet de dépasser les capacités natives de l'application. Au lieu d'utiliser les fichiers fournis par défaut, l'application est en mesure de prendre en compte vos fichiers tout en vous permettant de ne pas modifier les fichiers core et par conséquent, de faciliter la migration vers les versions futures.

Logique applicative

L'override peut se faire à deux niveaux :

  • /templates/override/ : l'override s'applique à l'ensemble de l'application, quelque soit l'interface et quelque soit le thème choisi.
  • /templates/[interface]/[nom_du_theme]/override/ : L'override ne s'applique qu'à l'interface concernée et au thème en question.

L'application inclura prioritairement les fichiers situés dans /templates/override/. Si les fichiers ne sont pas trouvés, l'application essaiera de les chercher dans le dossier /templates/[interface]/[nom_du_theme]/override/. Enfin, si aucun fichier n'est trouvé, les fichiers par défaut seront inclus.

Pourquoi permettre l'override à 2 niveaux?

La principale raison est de permettre un maximum de flexibilité en fonction des besoins du développeur.

De manière générale, si seule une des interfaces est concernée par les changements applicatifs, nous conseillons de centraliser les fichiers dans le dossier relatif au thème, par exemple : /templates/public/theme_alternatif/override/. La plupart des utilisateurs ne personnalisent que l'interface publique. Cette méthode implique que les changements fonctionnels sont dépendants du thème actif.

Si vous envisager des changements applicatifs majeurs sur l'application, nous vous conseillons vivement de centraliser vos fichiers dans /templates/override/ afin de ne pas devoir dupliquer les changements pour chacune des interfaces. Cette méthode implique que les changements fonctionnels sont totalement indépendants du thème actif.

L'override pour les plugins

Le système d'override est utilisé pour la gestion des plugins. Notez qu'un plugin sera toujours prioritaire sur l'override général ou l'override thématique!

Updated by Simon almost 10 years ago · 4 revisions