Hola, hoy traigo este tutorial puesto que lo he buscado en el foro y no lo he encontrado y creo que puede servirle a mucha gente, sobre todo de España.
El caso es que en España existe una ley que obliga a informar sobre el uso de cookies en la web y que el usuario debe aceptar, o ser informado de ello, aunque no esté registrado...
Simplemente hay que copiar todo este codigo en la plantilla Indice/Index
Panel de administración>Estilos y plantilla>Plantillas (escogen la que estén usando)>Indice-plantillas>Index:
Ahora paso a explicar el código:
Primero:
Esta línea es la api de Maxmind para usar GeoIP y detectar el usuario de donde es. Así sabremos si es usuario español o no.
Ahora vamos con la línea de código de la barra en sí, que es este:
Como podéis ver lleva el código CSS integrado así que podeis modificarlo desde ahí o crear un estilo para la barra y ponerlo en el gobal.css.
Podéis modificar también el texto del mensaje que se verá en la barra:
Usamos cookies propias y de terceros para mostrar publicidad personalizada según
su navegación. Si continua navegando consideramos que acepta el uso de cookies.
El botón del "OK" con su respectivo CSS:
Y el enlace donde deberéis dirigir al usuario interesado en obtener más información sobre las cookies de tu foro:
Este es el código de JavaScript que permite leer, manejar, y colocar las cookies:
Y con este código nos aseguramos de que la barra será mostrada a usuarios que únicamente sean de España creando un aviso que dura 365 días del año o hasta que el usuario elimine las cookies:
Si queréis usarlo para usuarios de todos los países tendréis que sustituir esto:
Por esto:
Y quitar el script de Maxmind que pusimos al principio del código:
El código hay que copiarlo en la plantilla "Indice/Index" justo antes de la etiqueta </body>, dejo captura:
Espero que os sirva
Saludos
El caso es que en España existe una ley que obliga a informar sobre el uso de cookies en la web y que el usuario debe aceptar, o ser informado de ello, aunque no esté registrado...
Simplemente hay que copiar todo este codigo en la plantilla Indice/Index
Panel de administración>Estilos y plantilla>Plantillas (escogen la que estén usando)>Indice-plantillas>Index:
Código:
<script src="http://j.maxmind.com/app/geoip.js"></script>
<div id="barritaloca" style="display:none;position:fixed;left:0px;right:0px;bottom:0px;width:100%;min-height:40px;background: #333333;color:#dddddd;z-index: 99999;">
<div style="width:100%;position:absolute;padding-left:5px;font-family:verdana;font-size:12px;top:30%;">
Usamos cookies propias y de terceros para mostrar publicidad personalizada según su navegación. Si continua navegando consideramos que acepta el uso de cookies.
<a href="javascript:void(0);" style="padding:4px;background:#4682B4;text-decoration:none;color:#fff;" onclick="PonerCookie();"><b>OK</b></a>
<a href="http://www.google.com.ar/intl/es-419/policies/technologies/types/" target="_blank" style="padding-left:5px;text-decoration:none;color:#ffffff;">Más información</a>
</div>
</div>
<script>
function getCookie(c_name){
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1){
c_start = c_value.indexOf(c_name + "=");
}
if (c_start == -1){
c_value = null;
}else{
c_start = c_value.indexOf("=", c_start) + 1;
var c_end = c_value.indexOf(";", c_start);
if (c_end == -1){
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}
function setCookie(c_name,value,exdays){
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
if(geoip_country_code()=="ES" && getCookie('aviso')!="1"){
document.getElementById("barritaloca").style.display="block";
}
function PonerCookie(){
setCookie('aviso','1',365);
document.getElementById("barritaloca").style.display="none";
}
</script>
Ahora paso a explicar el código:
Primero:
Esta línea es la api de Maxmind para usar GeoIP y detectar el usuario de donde es. Así sabremos si es usuario español o no.
Código PHP:
<script src="http://j.maxmind.com/app/geoip.js"></script>
Ahora vamos con la línea de código de la barra en sí, que es este:
Código PHP:
<div id="barritaloca" style="display:none;position:fixed;left:0px;right:0px;bottom:0px;width:100%;
min-height:40px;background:#333333;color:#dddddd;z-index: 99999;">
<div style="width:100%;position:absolute;padding-left:5px;font-family:verdana;
font-size:12px;top:30%;">
Usamos cookies propias y de terceros para mostrar publicidad personalizada según
su navegación. Si continua navegando consideramos que acepta el uso de cookies.
<a href="javascript:void(0);" style="padding:4px;background:#4682B4;text-decoration:none;color:#fff;" onclick="PonerCookie();"><b>OK</b></a>
<a href="http://www.google.com.ar/intl/es-419/policies/technologies/types/" target="_blank" style="padding-left:5px;text-decoration:none;color:#ffffff;">Más información</a>
</div>
</div>
Podéis modificar también el texto del mensaje que se verá en la barra:
Usamos cookies propias y de terceros para mostrar publicidad personalizada según
su navegación. Si continua navegando consideramos que acepta el uso de cookies.
El botón del "OK" con su respectivo CSS:
Código PHP:
<a href="javascript:void(0);" style="padding:4px;background:#4682B4;text-decoration:none;color:#fff;" onclick="PonerCookie();"><b>OK</b></a>
Y el enlace donde deberéis dirigir al usuario interesado en obtener más información sobre las cookies de tu foro:
Código PHP:
http://www.google.com.ar/intl/es-419/policies/technologies/types/
Este es el código de JavaScript que permite leer, manejar, y colocar las cookies:
Código PHP:
<script>
function getCookie(c_name){
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1){
c_start = c_value.indexOf(c_name + "=");
}
if (c_start == -1){
c_value = null;
}else{
c_start = c_value.indexOf("=", c_start) + 1;
var c_end = c_value.indexOf(";", c_start);
if (c_end == -1){
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}
function setCookie(c_name,value,exdays){
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
</script>
Y con este código nos aseguramos de que la barra será mostrada a usuarios que únicamente sean de España creando un aviso que dura 365 días del año o hasta que el usuario elimine las cookies:
Código PHP:
<script>if(geoip_country_code()=="ES" && getCookie('aviso')!="1"){
document.getElementById("barritaloca").style.display="block";
}
function PonerCookie(){
setCookie('aviso','1',365);
document.getElementById("barritaloca").style.display="none";
}
</script>
Si queréis usarlo para usuarios de todos los países tendréis que sustituir esto:
Código PHP:
if(geoip_country_code()=="ES" && getCookie('aviso')!="1"){
Por esto:
Código PHP:
if(getCookie('aviso')!="1"){
Y quitar el script de Maxmind que pusimos al principio del código:
Código PHP:
<script src="http://j.maxmind.com/app/geoip.js"></script>
El código hay que copiarlo en la plantilla "Indice/Index" justo antes de la etiqueta </body>, dejo captura:
Espero que os sirva
Saludos