Home Artículos Articulos Reseteo contraseña Joomla, error de clave inválida

Reseteo contraseña Joomla, error de clave inválida

icoDetalles Artículo - Nivel : Avanzado, Versión Joomla : >= 1.5.16, Formato : texto y video.
Cuando utilizamos template overrides del componente de usuario com_user, debemos tener cuidado ya que en versiones de joomla a partir de la 1.5.16 el core cambio en el formulario de reseteo de clave.

 

El siguiente video muestra los errores encontrados y la solución a través de dos casos reales.

Suscríbete a monitojoomla en youtube para que puedas ver todos los videos publicados

 

1- Generalidades de olvido de clave

Joomla tiene una opción en el módulo de logín de olvido de contraseña, al acceder a esa pantalla ingresamos nuestro email, posteriormente se enviará un correo con un key para comprobación de correo.

Pantalla de módulo Login

img1

Al acceder a la opción de Olvidó su contraseña, ingresamos el e-mail

img2

Nos llega un e-mail con una clave la cual debe ingresarse posteriormente en el formulario de comprobación, este formulario se puede acceder desde el link que figura en la parte inferior del mismo e-mail

img3

 

2- Error generado por Template Overrides de com_user

Este error esta documentado en la siguiente dirección http://docs.joomla.org/Confirm_password_in_1.5.16 . Ocurre cuando nuestro template genera una salida como se muestra en la siguiente imagen, en la cual sólo se muestra un campo para el ingreso del key generado.

img4

Después de ingresar el key, obtenemos el siguiente mensaje: La confirmación para la renovación de su contraseña falló debido a La clave es inválida (Your password reset confirmation failed because the token was invalid)

img6

Para solucionar esto se tiene que actualizar el código del archivo que esta reemplazando el archivo del core, esta actualización consiste en modificar el siguiente archivo: miTemplate/html/com_user/reset/confirm.php, y en el cual se colocará el siguiente código:

Código adicional agregado dentro del formulario, para el caso del template de ejemplo

<tr>
 <td height="40">
 <label for="username" class="hasTip" title="<?php echo JText::_('RESET_PASSWORD_USERNAME_TIP_TITLE'); ?>::<?php echo JText::_('RESET_PASSWORD_USERNAME_TIP_TEXT'); ?>"><?php echo JText::_('User Name'); ?>:</label>
 </td>
 <td>
 <input id="username" name="username" type="text" class="required" size="36" />
 </td>
 </tr>

Básicamente se agregan dos etiquetas, un label y un input, la salida sería como se muestra en la siguiente imagen:

img5

 

3- Nota Adicional - Overrides en Frameworks de Template

En algunos casos los templates comerciales que usan frameworks para templates, pueden incluir plugings en donde utilizarán el overrides. Por ejemplo para el framework T3, encontraremos el archivo confirm.php en : /plugins/system/jat3/base-themes/default/html/com_user/reset/confirm.php

 

4- Error generado por conflicto con joomfish

En el caso que se tenga joomfish instalado la actualización anterior aún no tendrá efecto, y se obtendrá nuevamente el mensaje de error: La confirmación para la renovación de su contraseña falló debido a La clave es inválida, para corregir este bug es necesario realizar una modificación al archivo del core: /components/com_user/models/reset.php y en la línea 126 comentar o borrar el siguiente código, tal como lo señala el siguiente bug documentado

$row = $db->loadObject();

 

5- Conclusión

Los parches de actualización de Joomla traen a veces sutiles cambios que pueden afectar los templates o extensiones que están instalados en nuestro sitio, por lo que, tenemos que estar atentos a estas modificaciones para mantener nuestro sitio funcionando correctamente.

 

 

Comparte este postDel.icio.us! Google! Live! Facebook! Twitter! Joomla Free PHP
Comentarios (9)
  • Manuel
    avatar
    Muchas gracias! la verdad es que artículos como este simplifican la vida de todos! muchas gracias por compartirlo con todos!!
  • Belen
    avatar
    Había puesto esta duda en varios foros y nadie decía nada y además, no veía que a nadie le pasase... Muuuuchas gracias!!!

    Lo he solucionado en un please... Gracias!!
  • Miguel Macias
    avatar
    Excelente!!!!

    Me salvaste el día. ¡Qué bueno que haya personas buenas e inteligentes como tu!

    Felicidades.
  • Dani
    avatar
    Gracias, un buen ahorro de horas perdidas buscando el problema.
  • oliver jhonathan figueroa pera
    avatar
    bueno gracias por el foro para compartir con otras personas....
  • Eric Cespedes
    avatar
    Excelente video tutorial.

    Me funciono al 100%, no tuve que hacer el cambio en joomfish, solo hice el primer cambio y quedo funcionando al 100%.

    Excelente tu web.

    Felicidades totales.
  • Francisco
    avatar
    buen tutorial muchas gracias tenia mas de 6 meses de no lograr entrar al sitio de administracion de joomla...
  • Andres Alvear
    avatar
    Genial brooo
    Gracias por el aporte!!
Escribir comentario
Gravatar enabled