Depuis cette nouvelle façon de programmer depuis php 5 à savoir et la programmation orientée objet, un concept remontant aux origines de la programmation orientée objet, cette méthodologie a fait son apparition en PHP. Parmi toutes les nouveautés qui sont liées à la programmation orientée objet, nous retrouvons l'héritage. Notons que dans l'univers du Joomla, on a plus tendance à parler d'override mais c'est exactement la même chose. Et comme je suis relativement défenseur du vocabulaire français, je continuerai à parler d'héritage.

 En terme d'héritage, notre CMS favori propose une interface homme-machine dans la console d'administration, qui nous permet de faire de l'héritage de composants ou de modules. Cette même interface ne propose malheureusement pas la possibilité de faire un héritage d'un plugin. Nous allons donc voir ainsi comment hériter un plugin existant. Je reviens rapidement sur un héritage d'une classe, c'est à partir d'une classe existante, que nous allons généralement rajouter des éléments des méthodes ou des propriétés, apportant ainsi à la classe d'origine de nouvelles fonctionnalités. 

Peut-on hériter un plugin Joomla ?

 Dans un premier temps, il faut savoir que ce n'est pas parce qu'une interface homme machine ne propose pas d'option d'héritage de plugins dans Joomla, contrairement aux modules, que cette fonctionnalité est impossible. L'héritage d'un plugin Joomla et bel et bien possible mais le processus est manuel

Un processus d'héritage manuel

 Un processus d'héritage, dans Joomla, qu'il soit automatique ou manuel, consiste à prendre les fichiers d'origine d'un élément, et de les copier dans un répertoire qui se situe dans votre template. Pour hériter un plugin, il faut commencer par trouver le dossier du plugin que vous souhaitez hériter dans le répertoire plugin de Joomla. Je ne reviens pas sur l'organisation des plugins par catégories, je pense que cela est relativement simple à comprendre, chaque catégorie renferme plusieurs plugins qui correspondent à la catégorie, et de plus la doc joomla l'explique parfaitement.
Lorsque vous avez trouvé dans le dossier du plugin à hériter, if sufit de récupérer le répertoire du plugin qui vous intéresse et copier le dans le sous-dossier plugin de votre template, dans le répertoire similaire à celui d'origine. Dans le cas d'un plugin qui se trouverait par exemple dans le dossier plugin/content/savepages. Vous pouvez copier  dans votre dossier de votre template : [dossier joomla]/template/[votre template]/(type plugin)/( votre plugin).
Par exemple, un plugin d'origine (dont le nom, non affiché sur la copie d'écran ci-dessous, est plg_content_navigation) pourrait etre : 
explorer yTIRNxISuV
le plugin hérité sera placé dans 
herit plugin
Voilà, c'est la plus "compliquée" des mécaniques d'héritage de plugin dans Joomla, une copie, est terminée. Il ne vous reste plus qu'à reprendre votre activité normale de développement de votre nouveau plugin issu d'un héritage. Vous allez donc notamment, généralement travailler dans le fichier default.php se trouvant dans le répertoire tmpl.

Mon Github

slhuilli1's GitHub repositories