He querido hacer un pequeño script en php que leyera de la base de datos de Joomla para poder hacer peticiones a la base de datos o usar sus funciones.

Al principio pensaba que importando configuration y router pues iba a tener suficiente pero empezaron a aparecer errores del tipo.

[Fri May 31 17:22:16 2013] [error] [client 172.26.0.100] PHP Notice:  Use of undefined constant JPATH_SITE

[Fri May 31 17:22:16 2013] [error] [client 172.26.0.100] PHP Notice:  Use of undefined constant JPATH_ADMINISTRATOR

[Fri May 31 17:22:16 2013] [error] [client 172.26.0.100] PHP Notice:  Use of undefined constant JPATH_INSTALLATION

 

Investigando encontré que al final debía incluir a parte las librerías que vienen en import.php dejando mi cabecera de la siguiente forma.

define( ‘_JEXEC’, 1 );
define(‘JPATH_BASE’, dirname(__FILE__) );
define( ‘DS’, DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.’includes’.DS.’defines.php’ );
require_once ( JPATH_BASE .DS.’includes’.DS.’framework.php’ );

$mainframe =& JFactory::getApplication(‘site’);
include_once(«configuration.php»);
include_once (‘./libraries/import.php’);
include_once(«./components/com_content/helpers/route.php»);

La primera línea será por si necesitáis acceder a librerías protegidas no os salte el error de JEXEC no defined

Por admin

Deja una respuesta