Clase ‘JFactory’ no encontrado

He estado creando algunos módulos en Joomla usando Jumi. Así que puedo escribir cualquier código php / javascript y crear un módulo Jumi que puedo mostrar donde quiero.

He estado haciendo esto por un tiempo sin problemas, pero ahora que estoy probando el desarrollo de AJAX con Jquery, estoy obteniendo este error:

Class 'JFactory' not found in api.php 

Entonces tengo un archivo PHP con el código jQuery:

 $(function() { $.ajax({ url: 'ajax_dashboard/api.php', //the script to call to get data data: "", dataType: 'json', //data format success: function(data) //on recieve of reply { var id = data[0]; //get id var vname = data[1]; //get name $('#output').append("id: "+id+" name: "+vname) .append("
"); //Set output element html } }); });

Como puede ver, llama al script api.php para hacer un poco de procesamiento del servidor. Este archivo tiene varias llamadas joomla como:

 $user = &JFactory::getUser(); 

Entonces, ¿por qué en este caso no tengo el marco de Joomla disponible?

El problema es que su llamada Ajax termina en un archivo fuera de la “plataforma” de Joomla. La forma correcta de hacerlo, si es posible, es hacer que el ajax llame algo así como:

index.php? option = yourcomponent & controller = xxx & task = yyy

(significa que debe tener un componente “mycomponent” y un controlador “xxx” dentro de ese componente) Entonces el controlador debe ser responsable de manejar la llamada ajax y enviar una respuesta. Puede devolver la respuesta codificada json, por ejemplo, o cualquier cosa que necesite.

Espero que haya ayudado

Yo uso esto para resolver el problema. Obtengo la variable mientras estoy en el marco de Joomla. Luego paso la variable User_Name en mi llamada ajax …

Espero que esto ayude