| Cómo enlazar tus aplicaciones webs externas a Joomla 1.5 |
|
|
|
|
Introducción No es la primera vez que en el foro me encuentro la siguiente pregunta: ¿Cómo recupero el usuario de Joomla para meterlo en mi aplicación php que he cargado en un wrapper? Además de esto, ya me ha surgido más de una vez, que he necesitado usar una aplicación php externa a Joomla, y recuperar la ruta de mi web o cualquier otro dato, y era un auténtico fastidio tener que poner tanto código y ensuciar mi componente. El Tutorial es para Joomla 1.5, sin embargo, para Joomla 1.0 sería bastante análogo. Resumen del proceso La idea que vamos a explicar se resume en lo siguiente: Cargaremos en un fichero .php el código que Joomla tiene en su index.php para cargar el framework, una vez hecho esto, el fichero lo colocamos en la carpeta raíz de Joomla y lo llamamos con un include desde la utilidad externa en la que queramos recuperar el framework. Ahora podremos usar cualquier función o definición de Joomla. Paso a Paso Imaginemos que nuestro objectivo es imprimir en pantalla el ID del Usuario que está logueado en nuestro sistema Joomla, así como su UserName. La aplicación desde la cual queremos hacer esto está ubicada en http://www.miweb.com/aplicacion/index.php y nuestro Joomla: http://www.miweb.com/joomla
Notas Finales Pueden ocurrir errores inesperados si la línea: Código PHP:
include('../joomla/ecojoom15.php'); Seguridad Gracias a los consejos de javiparati, me doy cuenta de que en este código hay un gran problema de seguridad, y es que, se podría acceder al componente sin pasar por Joomla, o sea, directamente. Para solventar este problema, habría que hacer las comprobaciones pertinentes (si nuestro usuario necesita estar identificado para acceder, o ser administrador), dentro del código de nuestra aplicación externa: www.miweb.com/aplicacion/index.php Podríamos añadir dos líneas para comprobar que el usuario está identificado en Joomla y sino no dejarlo entrar en el sistema: Código PHP:
include('../joomla/ecojoom15.php'); if (JFactory::getUser()->usertype == NULL) JError::raiseError(1,"No puede acceder a esta página sin estar logueado en Joomla."); $user = JFactory::getUser(); echo "Usuario " . $user->username . " con id: " . $user->id . " conectado a Joomla"; Esto es todo, espero que les sirva, estaría agradecido de que me reportasen cualquier error. Texto original: "Cómo enlazar tus aplicaciones webs externas a Joomla 1.5 (Tutorial) ", por Hidabe - Joomla Spanish developer. |
| Siguiente > |
|---|




