如果用户在eu-cookie-compliance模块上授予cookie权限,如何从谷歌分析模块进行检查

时间:2013-05-15 10:09:50

标签: drupal

所以我有谷歌分析模块和eu-cookie合规模块,两者都运行良好。现在我正在尝试禁用谷歌分析,如果用户没有授予关于eu-cokie-compliance的cookie的许可。我知道cookie模块有javascript函数

Drupal.eu_cookie_compliance.hasAgreed()

但我必须从谷歌分析中的PHP代码检查。因此,当页面首次加载时,谷歌分析将被禁用。

任何想法如何使其发挥作用?

<?php 
$cookie=$_COOKIE['cookie-agreed-sl'];
if($cookie==1 || $cookie==2)return true;
else return false;

?>

所以我将该代码添加到谷歌分析代码中,但它总是返回错误,因此谷歌分析cookie是新设置的。我在一些php文件中尝试了该代码并且在那里工作。如何解决?

1 个答案:

答案 0 :(得分:1)

可以在javascript文件中找到eu_cookie_compliance逻辑:js/eu_cookie_compliance.js包含eu_cookie_compliance_get_settings

Drupal.eu_cookie_compliance.setStatus = function(status) {
    var date = new Date();
    date.setDate(date.getDate() + 100);
    document.cookie = "cookie-agreed-"+Drupal.settings.eu_cookie_compliance.popup_language + "="+status+";expires=" + date.toUTCString() + ";path=" + Drupal.settings.basePath;
}

所以你必须使用php获取这个cookie。