Certaines personnes m’ont demandĂ© comment faire pour intĂ©grer l’API Joomla dans des pages PHP externes (standalone) et c’est donc tout logiquement que j’ai dĂ©cidĂ© d’Ă©crire un petit article Ă ce sujet.
Grâce Ă ces quelques lignes de codes vous pourrez utiliser pleinement l’API avec notamment les class d’accès Ă la Base de donnĂ©es, aux informations utilisateurs, aux informations session etc… Bref tout ce qui existe dans Joomla pour vous faciliter la tâche (merci JFactory).
Voici donc le code miraculeux :
// On définie que c'est un fichier familier à Joomla
define('_JEXEC', 1 );
define('JPATH_BASE', '../../../' );
define( 'DS','/' );
// On inclue les constantes
require_once ( JPATH_BASE.DS.'includes'.DS.'defines.php' );
// On inclue le framework
require_once ( JPATH_BASE.DS.'includes'.DS.'framework.php' );
// On inclue la fameuse class JFactory
require(JPATH_BASE.'libraries/joomla/factory.php');
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
Cependant pour la constante JPATH c’est à vous de trouver le bon chemin par rapport à là où vous exécutez votre fichier (dans mon cas je suis dans dossier comme ça : modules/mod_mon_module/dossier/mon_fichier.php)
VoilĂ j’espère que ça vous aura aidĂ© autant que pour moi.
Je sais pas si j\’ai tout saisi.
En gros, je voudrais savoir s\’il Ă©tait possible d\’exĂ©cuter des modules Joomla sur des pages extĂ©rieures (comme un swmenufree sur une page phpbb par exemple). Possible ?
Merci
Euh si tu veux faire ça Ă mon avis tu auras besoin du dossier librairies de joomla, car c’est lui qui contient l’essentiel des class utilisĂ© par l’API Joomla. Mais je ne suis sĂ»r de rien
En fait mon code lĂ permet, par exemple, quand tu crĂ©e un module Joomla, si tu dĂ©sires ajouter de l’ajax et donc appeler un script PHP via AJAX, ben tu rajoutes ça dans ton fichier PHP et tu pourras utiliser l’API Joomla