Surcharge de classes Topic is solved

Support et assistance pour développer des extensions ou pour modifier Joomla! 3.0, 3.1 et 3.5

Moderators: Aidan38, sarki

Forum rules
Règles du forum
Locked
deleted user

Surcharge de classes

Post by deleted user » Sat Feb 02, 2013 1:42 pm

Bonjour,

Je souhaiterais surcharger une classe dans Joomla 3 mais je ne parviens pas à trouver de doc à ce propos...

La classe à surcharger est "JDocumentRendererHead" et se trouve dans le fichier /libraries/joomla/document/html/renderer/head.php

Quelqu'un saurait-il comment il faut s'y prendre ?

Merci d'avance

Aidan38
Joomla! Ace
Joomla! Ace
Posts: 1394
Joined: Mon Aug 06, 2012 8:51 am
Location: France Paris/Grenoble
Contact:

Re: Surcharge de classes

Post by Aidan38 » Tue Feb 05, 2013 1:32 pm

Bonjour,

as tu regardé dans la documentation joomla!
http://docs.joomla.org/How_to_override_ ... omla!_core
Learn how create your website with Joomla! 4 The book https://cinnk.com/en/books/joomla-4-the-book
Create your online shop with Joomla! & HikaShop https://cinnk.com/en/books/create-your- ... a-hikashop

deleted user

Re: Surcharge de classes

Post by deleted user » Sat Feb 23, 2013 9:38 am

Bonjour,

Je n'avais pas trouvé cette doc. Merci.

Cependant, ils disent qu'il faut un plugin pour overrider or, le plugin en question n'est pas dispo pour Joomla 3... Dommage !

Aidan38
Joomla! Ace
Joomla! Ace
Posts: 1394
Joined: Mon Aug 06, 2012 8:51 am
Location: France Paris/Grenoble
Contact:

Re: Surcharge de classes

Post by Aidan38 » Sat Feb 23, 2013 11:33 am

Bonjour,

Joomla 3 n'a que quelques mois, il faut patienter un peu ;)
Learn how create your website with Joomla! 4 The book https://cinnk.com/en/books/joomla-4-the-book
Create your online shop with Joomla! & HikaShop https://cinnk.com/en/books/create-your- ... a-hikashop

deleted user

Re: Surcharge de classes

Post by deleted user » Sat Feb 23, 2013 11:36 am

Oui, je ne vais pas avoir vraiment le choix de toutes façons :-)

Merci de votre aide en tout cas

User avatar
sebiseb
Joomla! Guru
Joomla! Guru
Posts: 706
Joined: Fri Aug 19, 2005 1:04 pm
Location: IdF - Centre
Contact:

Re: Surcharge de classes

Post by sebiseb » Sun Feb 24, 2013 9:30 pm

Pour mon information personnelle, ça veut dire quoi surcharger une classe ? Dans l'Éducation Nationale je vois bien... :D mais dans Joomla ???
Joomla 3.9.15 - template basé sur Protostar 1.0
outils d'administration : Akeeba Backup Core 7.0.2 - Admin Tools Core 5.5.0
extensions : JCE Editor Pro 2.8.9 - Creative Contact Form 4.6.2 - kunena « Oberon » 5.1.15

deleted user

Re: Surcharge de classes

Post by deleted user » Mon Feb 25, 2013 7:18 am

Bonjour,

PHP permet d'utiliser des classes comme ça par exemple :

Code: Select all

class JDocumentRendererHead extends JDocumentRenderer{
/* du code ici */
}
Et donc les surcharger ici signifie qu'on appelle cette classe dans un autre fichier dans lequel on peut modifier ou ajouter des actions avec les propriétés ou les méthodes.

User avatar
sebiseb
Joomla! Guru
Joomla! Guru
Posts: 706
Joined: Fri Aug 19, 2005 1:04 pm
Location: IdF - Centre
Contact:

Re: Surcharge de classes

Post by sebiseb » Mon Feb 25, 2013 8:48 am

Merci, je me coucherais moins bête ce soir !
Joomla 3.9.15 - template basé sur Protostar 1.0
outils d'administration : Akeeba Backup Core 7.0.2 - Admin Tools Core 5.5.0
extensions : JCE Editor Pro 2.8.9 - Creative Contact Form 4.6.2 - kunena « Oberon » 5.1.15

User avatar
yann31
Joomla! Intern
Joomla! Intern
Posts: 58
Joined: Mon Mar 10, 2008 10:13 am
Location: Lavardac, France
Contact:

Re: Surcharge de classes

Post by yann31 » Fri Oct 04, 2013 11:23 pm

En général, surcharger une classe est toujours à éviter.

Si on parle bien de "surcharger une classe" cela signifie qu'on la remplace. C'est différent de l'étendre ou de créer une classe fille qui en hérite comme vu dans l'exemple de code ci-dessus.

En général, une surcharge de classe, cela se fait en remplaçant le fichier original par une autre version en utilisant un mécanisme proposé par l'api. (surtout pas en modifiant le fichier core !) C'est un peu la méthode de la dernière chance. Cela implique que la classe en question est modifiée. Par contre, elle est modifiée partout dans l'appli. Cela peut donc avoir des effets de bords dans les modules par exemple. De la même manière, ton évolution de la classe en question peut poser problème si des classes l'utilisant évoluent lors des maj. En effet, comme tu bidouilles dans la partie "private" des classes, le développeur de la classe originale peut s'autoriser des modifs de structure interne des fonctions qui pourraient ne pas convenir avec ta modif.

Es-tu bien sûr que tu n'as pas d'autres solutions ?

On peut faire énormément de chose avec les plugins systeme dans Joomla.
Si tu nous en dis plus, on pourra peut-être trouver une solution plus élégante à ton problème.
http://www.bulle-communication.com/real ... oomla.html Développeur Joomla, Responsable service web / NTIC dans une agence de communication en Aquitaine près d'Agen. J'ai testé Drupal, j'ai pas aimé.
Blog : http://aperipub.fr


Locked

Return to “3.x - Développement”