所以我有谷歌分析模块和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文件中尝试了该代码并且在那里工作。如何解决?
答案 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。