La casse dans le nom des classe statiques du framework est importante.
Par exemple :
JToolBarHelper
ira chercher un fichier dans le dossier ./libraries/(cms|joomla|legacy)/tool/bar/helper.php
- alors qu'un appel à
JToolbarHelper
utilisera ./libraries/(cms|joomla|legacy)/toolbar/helper.php
.
Jusqu'aux version < 3.9 en front on devait charger manuellement en front le fichier de la classe par exemple :
require_once JPATH_ADMINISTRATOR . '/includes/toolbar.php';
ou aussi :
if(!class_exists('JToolbar')) {
require_once JPATH_SITE . '/libraries/cms/toolbar/toolbar.php';
}
if(!class_exists('JToolbarHelper')) {
require_once JPATH_SITE . '/libraries/cms/toolbar/helper.php';
}
Le fichier ./administrator/includes/toolbar.php n'existe plus à partir de la version 3.9.
Le chargement est automatique à condition de bien respecter la casse JToolbarHelper (le b de bar en minuscules) lors des appels.
par exemple : JToolbarHelper::divider();
Le framework effectue alors le chargement du ficher, si nécessaire.