Estoy trabajando con Joomla! 1.5.9 y Virtuemart 1.1.2. Al estar probando un sitio web antes de su publicación encontré un error en el módulo de inicio de sesión que pertenece a Virtuemart, este se llama mod_virtuemart_login y esta diseñado para sustituir al módulo original con el que se instala Joomla!.
El problema trata de un Token inválido de Virtuemart, que utiliza el código con el que funcionaba el viejo Joomla! (1.1.x) a través de JUtility. Este error solo puede apreciarse al intentar iniciar sesión desde una página que no sea l a principal del sitio (sinceramente no tengo una respuesta del ¿por qué? solo en la principal funciona bien).

Para solucionar este problema tenemos que ir a la carpeta /modules/mod_virtuemart_login y editar el archivo mod_virtuemart_login.php. Aproximadamente en la línea 54 tenemos que sustituir:
$validate = JUtility::getToken();
Por esto:
$validate = JHTML::_( 'form.token' );
Y después tenemos que cambiar el modo en que se presenta esta variable , en vez de tenerla como un input solo la desplegaremos. En la línea 196, tenemos que sustituir:
<input type="hidden" name="<?php echo $validate; ?>" value="1" />
Por esto:
<?php echo $validate; ?>
Con esto funcionará perfectamente el módulo de inicio de sesión, No he revisado si esto ya está dado de alta como un bug en virtuemart pero si es fundamental que se cambie esto en la siguiente versión. Espero les ayude.
Saludos.
Tadek Chávez es el editor principal de este sitio. Ingeniero en sistemas computacionales especializado en ciencias de la computación con enfoque en sistemas abiertos. Director de tadzioTek
.
Secciones 



















Comentarios
Busco y busco como solucionar esto y no encuentro la solución.
He probado la solución que propones pero me sigue dando el "invalid token" en firefox y en chrome.
Por una vez el, explorer no da problemas con esto.
¿Alguna idea más? gracias
Saludos