Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Joomla »

Validar en componente público que el usuario este registrado

Estas en el tema de Validar en componente público que el usuario este registrado en el foro de Joomla en Foros del Web. Hola a todos. Paso por acá con una duda que tengo. Estoy desarrollando un componente en Joomla 2.5 y admito que no es mi fuerte, ...
  #1 (permalink)  
Antiguo 10/10/2014, 20:44
 
Fecha de Ingreso: octubre-2012
Mensajes: 7
Antigüedad: 12 años, 1 mes
Puntos: 0
Validar en componente público que el usuario este registrado

Hola a todos.
Paso por acá con una duda que tengo.
Estoy desarrollando un componente en Joomla 2.5 y admito que no es mi fuerte, ni me gusta mucho ya que prefiero desarrollar yo mismo mis sistemas en php puro, pero al jefe no se le puede decir no....
En el componente tengo una serie de vistas que no deben ser públicas, es decir solo pueden visualizarlas los usuarios registrados en ese sistema joomla.
Con la parte admin del Joomla no hay problemas, pero con la parte pública (site) no logro que sea solo para usuarios registrados. (o por lo menos como yo lo quiero)
Lo más parecido que he logrado es esto:

Código PHP:
$user JFactory::getUser();
if(empty(
$user->id)){ //usuario sin seccion
    
header("Location: /index.php?option=com_users&view=login");
       
// lo mando al loguin

Pero.... eso no es lo que busco. Yo quiero que funcione igual que la parte admin del Joomla, que sin mandarme a otra página salga el formulario de inicio de sección y que después de loguearse siga visualizándose mi componente.

Con el código que mostré arriba no me sirve, ya que al detectar que no tiene sección, saca al usuario del componente (lo cual no quiero) y cuando el usuario se loguea lo manda a otra pantalla de default, la cual no puedo cambiar, ni tocar. (eso lo maneja otra gente) así que necesito que mi componente sea independiente o autónomo.
Agradezco cualquier ayuda o idea...
  #2 (permalink)  
Antiguo 11/10/2014, 14:06
 
Fecha de Ingreso: octubre-2012
Mensajes: 7
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Validar en componente público que el usuario este registrado

Me respondo a mí mismo….
Después de mucho buscar y ensayar, logre armar algo más a mis deseos.
Lo primero es colocar al inicio del php del componente en site /components/com_miComponenteX/miComponenteX.php el siguiente código:
Código PHP:
// programar una vista por defecto y validar user registrado
$user JFactory::getUser(); 
JRequest::setVar('view', empty($user->id) ? 'Login' JRequest::getCmd('view''Default')); 
Allí lo que hago es que si no existe un usuario registrado en la sección, cargo la vista login (sin redirecionar) en vez de la vista XY que están solicitando, una vez que el usuario existe, si se envía a la vista solicitada o al default.
Y en la vista login coloque el siguiente código:
Código PHP:
$document JFactory::getDocument();
$renderer $document->loadRenderer('module');
$module JModuleHelper::getModule('mod_login');
//$Params = "param1=xxx\n\rparam2=yyy"; // parametros, no los uso en este caso
//$Module->params = $Params;
echo $renderer->render($module); 
Allí, lo que se hace es mostrar el módulo de login de Joomla, el usuario ingresa sus datos, y al validarse, sigue trabajando donde estaba en la vista XY.

Espero que le sirva a alguien más. Y si conocen la forma ortodoxa nativa de Joomla (que debe haberla) me avisan.

Etiquetas: componente, registro, usuario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:40.