En Cookie Control no funciona el checkbox de no volver a mostrar mensaje

En Cookie Control no funciona el checkbox de no volver a mostrar mensaje

Hace poco, he tenido que instalar en un WordPress un plugin con el que solicitar el consentimiento expreso del usuario para la utilización de cookies en el portal, de acuerdo con la normativa europea. Dicho plugin ha sido Cookie Control, que por su sencillez se adecuaba bastante a las necesidades que tenía. Aunque si bien está ideado para la normativa de Reino Unido, como ésta es similar a la europea podemos usarlo perfectamente. Desgraciadamente por ahora no existe una traducción oficial al español, pero utiliza un inglés bastante asequible.

El caso es que una vez instalado y configurado a nuestro criterio, se debe seleccionar la opción estricta de mostrar el aviso. Esta opción hace que por defecto vengan desactivadas las cookies (cumpliendo la normativa) y sea el usuario quien, a través de un panel de aviso, tenga que activarlas. Dicho panel se muestra en cada una de las páginas del portal mientras no se activen las cookies. Para ocultarlo hay un checkbox debajo de la activación que permite no volver a mostrar el mensaje, quedando minimizado en una esquina. Aquí es donde aparece el problema cuando dicha casilla de verificación no funciona si se activa, dando lugar a que el mensaje no se oculte y si se recarga la página, vuelva a aparecer.

Esto se debe a un pequeño error de JavaScript en un condicional de la librería del plugin, de fácil solución si se sabe dónde hay que modificar, pero una locura en caso contrario. Como los archivos JS vienen comprimidos, la tarea de buscar el fallo se vuelve más complicada, así que hay que tirar de internet para saber qué ocurre.

En un grupo de Google encontré la solución al problema y espero que a vosotros también os sea útil. El primer paso será encontrar el trozo de código en el que se establece que si el checkbox está activado, el mensaje se debe ocultar.

jQuery("#cccwr #cchide-popup").click(function(g){
var f = jQuery(this).attr("checked");
var h = CookieControl;
if(f == true){
h.setCookie("ccNoPopup", "no");
jQuery("#cccwr .ccc-widget").fadeOut(CookieControl.options.clickFadeSpeed)
}else{
h.setCookie("ccNoPopup", "", true)
}
});

Hay que cambiar la condición dentro del if (f == true) del siguiente modo, debido a que la condición anterior jamás se cumplirá :

if(f){
[...]

Así, ya debería funcionar correctamente el checkbox y no volver a mostrar el mensaje a menos que el usuario lo maximice.

Os dejo el hilo original en el que encontré la solución, desde aquí un gran gracias a Egbert.

2 respuestas a «En Cookie Control no funciona el checkbox de no volver a mostrar mensaje»

  1. Avatar de Anónimo
    Anónimo

    Estaba configurando el módulo para Joomla! 2.5 y este era una de los problemas que tenía. Con este tip lo he resuelto.

    En cualquier caso, creo que voy a pasar de él, porque he hecho tres instalaciones distintas, y en todas me topo con el mismo bug: al seleccionar cualquier elemento de un menú, carga de nuevo la página y las cookies de Analitycs se reproducen, a pesar de que la cookie de control sí que cambia a Value="no".

    De todas formas, gracias, amigo.

    1. Avatar de Jesús Tovar

      Gracias a ti por comentar tu experiencia y me alegra que te haya sido de ayuda, desconocía que existiera Cookie Control para Joomla!, siempre está bien saberlo.

      Lo cierto es que más allá de usarlo para este proyecto de WordPress concreto no he vuelto a recurrir a él, así que por desgracia no sabría decirte mucho sobre el problema con Analytics que comentas. Pero si das con la clave, no dudes en pasarte por aquí para compartirlo con nosotros.

      ¡Un saludo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *