Inicio cHill.Room Como insertar un nuevo campo para validar el email en Joomla 1.5

Como insertar un nuevo campo para validar el email en Joomla 1.5

Uno de los grandes fallos que tiene Joomla 1.5 está en el formulario de registro de usuarios. El problema viene en que no trae un campo para verificar o validar el email y son muchísimos los usuarios que se registran y al indicar un email erroneo pues no les puede llegar el correo para verificar su cuenta. Si les pasa esto, pensarán que nuestra página web no funciona y que no van a perder más tiempo en ella intentando registrarse.

Básicamente lo que haremos será insertar un formvalidator para que nos avise cuando el email insertado no sea igual y también tenemos que añadir un nuevo inputbox para poder escribir la validación del email.

Para solucionar ese handicap vamos a tener que editar el archivo default.php que está en:

/components/com_user/views/register/tmpl/default.php

Primero buscamos estas líneas:

Window.onDomReady(function(){
document.formvalidator.setHandler('passverify', function (value) { return ($('password').value == value); }   );
});

Y justo debajo de ellas vamos a pegar el siguiente código:

Window.onDomReady(function(){
document.formvalidator.setHandler('passverify', function (value) { return ($('password').value == value); }   );
document.formvalidator.setHandler('emailverify', function (value) { return ($('email').value == value); }   );
});

Ahora vamos a buscar las siguientes líneas:

<tr>
<td height="40">
<label id="emailmsg" for="email">
<?php echo JText::_( 'Email' ); ?>:
</label>
</td>
<td>
<input type="text" id="email" name="email" size="40" value="<?php echo $this->user->get( 'email' );?>" class="inputbox required validate-email" maxlength="100" /> *
</td>
</tr>

Justo debajo de ellas vamos a pegar el siguiente código:

<tr>
<td height="40">
<label id="email2msg" for="email2">
<?php echo JText::_( 'Verify Email' ); ?>:
</label>
</td>
<td>
<input type="text" id="email2" name="email2" size="40" value="<?php echo $this->user->get( 'email' );?>" class="inputbox required validate-emailverify" maxlength="100" /> *
</td>
</tr>

Esta solución la saqué de los foros en inglés y funciona perfectamente. No modifica datos de la base de datos ni hace nada extraño ya que su única función es validar y comparar los emails insertados.

Espero que sirva de ayuda!