Martes, 20 Julio 2010 | Escrito por Jhon Marreros Guzman
Detalles 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.
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

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

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

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.

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)

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
Básicamente se agregan dos etiquetas, un label y un input, la salida sería como se muestra en la siguiente imagen:

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
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.
¿Interesado en aprender más de Joomla? Suscríbete al Boletín Mensual

Al suscribirte recibirás una recopilación de 10 templates Joomla gratuitas
