Aby uživatel zjistil, jaký souhlas udělil, musí se podívat na stránku o zpracování cookies (nebo musí do konzole prohlížeče). Následujícím skriptem můžete zobrazit (ne)udělení souhlasu o zpracování cookies přímo na lištu. Jeho použití můžete vidět i na tomto webu.
Poznámka: Skript žádná data nikam neukládá ani neposílá, pouze přečte hodnoty z cookies prohlížeče, pokud tam jsou, a zobrazí je v cookie liště.
Jak najít cookies v prohlížeči
Jak vlastně cookies v prohlížeči zobrazit?
- Otevřete vývojářskou konzoli prohlížeče (většina jich funguje na povel klávesy F12, případně pravým kliknutím na nějaký prvek stránky a “prozkoumat prvek”).
- Otevře se okno vývojářské konzole, nahoře je menu (Elementy, Kontrole, Zdroje…) – najděte tu Aplikace.
- Najděte Uložiště a název webu, na kterém jste – po kliknutí se zobrazí cookies, které má stránka uložené (můžete si je vyfiltrovat).

Úprava cookie lišty
Omezení řešení
- v prohlížeči musí běžet JS,
- řešení je pouze pro 1 jazyk (račte si překlady v kódu upravit dle libosti),
- řešení bylo otestováno na verzi WP 6.1.1 + Complianz 6.4.0.

CSS
Zobrazený souhlas je potřeba trochu naformátovat, aby zapadl do patičky (měl by reflektovat nastavení z Complianz, ale račte si ho upravit, jak je třeba). Ideální místo je pro ně v nastavení šablony (Vzhled -> přizpůsobit), aby se aplikovaly na každé stránce webu.
.jk-cmplz-consents {
font-size: var(--cmplz_text_font_size);
line-height: var(--cmplz_text_line_height);
color: var(--cmplz_text_color);
margin-bottom: 5px;
text-align: center;
width: 100% ;
grid-column: span 3;
overflow-y: auto;
overflow-x: hidden;
}
Javascript
Kód se bude volat vždy, když se načte stránka (můžete si ho upravit, aby se volal kdykoli jindy). Ideální místo je pro něj patička nebo tělo stránky (přinejhorším jde i do hlavičky, skriptu je to jedno).
- např. pro DIVI je to DIVI -> Nastavení -> Integrace -> <body> sekce.
<script>
/**
* return value of the cookie or empty string ""
* @cname cookie name
* @returns {string}
*/
function jkGetCookieValue(cname) {
let name = cname + "=";
let decodedCookie = decodeURIComponent(document.cookie);
let ca = decodedCookie.split(';');
for (let i = 0; i < ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
/**
* return language value of the cookie
* @cname cookie name
* @returns {string}
*/
function jkGetCookieString(cname) {
let jk_allow = "povoleno";
let jk_deny = "zakázáno";
let jk_no_response = "bez odpovědi";
if(cname == "cmplz_functional"){ ////WTF? Cmlpz stored function cookies as deny, even if they're essential?
return jk_allow;
} else {
let cookieValue = jkGetCookieValue(cname);
if (cookieValue == "allow") {
return jk_allow;
} else if (cookieValue == "deny") {
return jk_deny;
} else {
return jk_no_response;
}
}
}
/**
* Add cookie translations to the HTML to the Complianz banner
* @returns {string}
*/
function jkProceedCookiesToCmplz(){
let jk_cmplz_consent = document.getElementById("cmplz-cookiebanner-container").getElementsByClassName("cmplz-cookiebanner")[0];
if (jkGetCookieValue("cmplz_functional") != "") { // call only when allow or deny
if (jk_cmplz_consent.getElementsByClassName("jk-cmplz-consents").length < 1) {
let jk_cmplz_html = "<div class=\"jk-cmplz-consents\">";
jk_cmplz_html += "<span class=\"\">Nezbytné: " + jkGetCookieString("cmplz_functional") + "</span> | ";
jk_cmplz_html += "<span class=\"\">Marketingové: " + jkGetCookieString("cmplz_marketing") + "</span> | ";
jk_cmplz_html += "<span class=\"\">Statistické: " + jkGetCookieString("cmplz_statistics") + "</span>";
jk_cmplz_html += "</div>";
jk_cmplz_consent.innerHTML += jk_cmplz_html;
}
}
}
/**
* Call when DOM is ready
* @returns {string}
*/
document.addEventListener("DOMContentLoaded", () => {
jkProceedCookiesToCmplz();
});
</script>

