SERGIOIGLESIAS

Blog sobre Joomla

Mal funcionamiento del módulo de encuestas de Joomla! 1.5

@sergiois Extensiones 1 - 2 minutos Visto: 3015

Módulo encuestas Joomla!En uno de los proyectos Joomla! en los que estamos colaborando, y del que pronto espero contaros algo más, nos han comentado que el módulo de encuestas que viene por defecto Joomla! 1.5 no funciona correctamente. Los resultados se cargan en página de inicio.

Vamos a ver este error y su solución.

 

Sobre el error

El error que nos indican es que cuando realizas una votación o quieres ver los resultados de las encuestas, éstos se muestran siempre en la página de inicio.

El problema

En el fichero mod_poll.php, que es donde carga la encuesta, no se tiene en cuenta el id de la misma para poder realizar luego la comprobación del Itemid al cual ir.

La solución

Para modificar este error, hay que modificar la línea 23 de dicho fichero con lo siguiente:

[original] -> $items = $menu->getItems('link', 'index.php?option=com_poll&view=poll');
[modificado] -> $items = $menu->getItems('link', 'index.php?option=com_poll&view=poll&id='.$params->get( 'id', 0 ));

Con este cambio ahora sí que pasamos a la vista el id de la encuesta y poder acceder a su Itemid correspondiente.

Lo siguiente que hay que modificar es la vista, pero esto lo hacemos en el "override" del módulo dentro de la plantilla (en su carpeta html).
Dentro de esta carpeta llamada html, buscamos la carpeta de mod_poll y editamos el fichero default.php
Tenemos que poner lo siguiente en el action del formulario, para que vaya al Itemid correspondiente en lugar de ir a la página de inicio:

<form action="<?php echo JRoute::_("index.php?option=com_poll&id=$poll->slug".$itemid); ?>" method="post" name="form" class="rt-poll">

De la misma forma, en el botón de ver resultados tendremos que poner lo mismo para que tenga el mismo comportamiento:

<input type="button" name="option" class="button" value="" onclick="document.location.href='<?php echo JRoute::_("index.php?option=com_poll&id=$poll->slug".$itemid); ?>'" />

Recomendación

Ahora habría que crear un nuevo menú. Una solución es crear un nuevo menú llamado menuoculto y que éste no se visualice desde ningún módulo.
Dentro de este menú se creará un ítem de menú de encuesta, que apunte a dicha encuesta. Con los cambios realizados en el módulo (explicados anteriormente), cuando hagamos una votación o veamos los resultados, ya no irá a la página de inicio sino a la que acabamos de crear en el nuevo menú.

Espero que con estas indicaciones quede resuelto este problema.

¿Te ha gustado el artículo?

Suscríbete a mi newsletter y recibe contenido exclusivo.
Podrás hacer gratis un Curso de desarrollo de plantillas Joomla.

No hay comentarios

Solicita presupuesto

¿Quieres una página web que funcione?

Contacta conmigo y hablemos de tu proyecto.