, das ist natürlich suboptimal den Browser erst einmal den Cookiehinweis anzeigen zu lassen um ihn gleich wieder zu entfernen, wesentlich besser ist da dein Lösungsvorschlag.
Wozu dient eigentlich das komprimierte Skript '/templates/bootstrap3/javascript/eu_cookie.js', für den implementierten Cookiehinweis wird es ja nicht benötigt?
In /templates/bootstrap3/javascript/general_bottom.js.php ab ca. Zeile 77 folgenden Code
<?php if (!isset($_COOKIE['eucookie'])): ?> // EU-Cookie
if (!navigator.cookieEnabled) {
$("#eucookielaw").remove();
}
function SetCookie(c_name,value,expiredays) {
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+";path=/"+((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}
if( document.cookie.indexOf("eucookie") ===-1 ){
$("#eucookielaw").show();
}
$("#set_cookie").click(function () {
SetCookie('eucookie','eucookie',365)
$("#eucookielaw").remove();
});
<?php endif; ?> // START Creare's 'Implied Consent' EU Cookie Law Banner
<?php $complianceCookieName = 'eucookie'; if (!isset($_COOKIE[$complianceCookieName])): ?> if (navigator.cookieEnabled) {
(function ($) {
$.fn.cookieConsent = function(options) {
var settings = $.extend({
// Number of days before the cookie expires, and the banner reappears
cookieDuration : 120,
// Name of our cookie
cookieName: '
<?php echo $complianceCookieName; ?>',
// Value of cookie
cookieValue: 'on',
// Path of cookie
cookiePath: '/',
// Message banner message
bannerMessage: "This website uses cookies. These essential cookies are used to track important logical information for the smooth operation of the site.",
// Message banner dismiss button
bannerButtonText: "OK",
// Link to your cookie policy.
bannerLinkURL: "cookie_policy.html",
// Link text
bannerLinkText: "<b>Read more</b>",
// Class banner
bannerClass: "alert alert-info alert-dismissible text-center",
// Style banner
bannerStyle: "position: fixed; width: 100%; opacity: 1; margin: 0px; left: 0px; bottom: 0px; padding: 10px; z-index: 1000; text-align: center; display: none;", // Anzeige unten ganze Breite
// bannerStyle: "position: fixed; width: 100%; opacity: 1; margin: 0px; bottom: 0px; padding: 10px; z-index: 1000; text-align: center; display: none; width: 300px; min-width: 300px; max-width: 90%; right: 20px; bottom: 20px; overflow: auto;", // Anzeige unten rechts
// Class banner dismiss button
bannerButtonClass: "btn btn-success btn-xs",
// Style banner dismiss button
bannerButtonStyle: "margin: 4px 0 4px 24px; cursor: pointer;",
// Class banner link
bannerLinkClass: "iframe text-success",
// Style banner link
bannerLinkStyle: "margin-left: 8px;",
// Target banner link
bannerLinkTarget: "_blank"
}, options);
function checkCookie(name) {
var nameEQ = name + "="
var ca = document.cookie.split(';')
for(var i = 0; i < ca.length; i++) {
var c = ca[i]
while (c.charAt(0)==' ')
c = c.substring(1, c.length)
if (c.indexOf(nameEQ) == 0)
return c.substring(nameEQ.length, c.length)
}
return null
};
if (checkCookie(settings.cookieName) != settings.cookieValue) {
$("body").append(
'<div id="cookieChoiceInfo" class="' + settings.bannerClass + '" style="' + settings.bannerStyle + '">' +
settings.bannerMessage +
' <a href="' + settings.bannerLinkURL + '" class="' + settings.bannerLinkClass + '" style="' + settings.bannerLinkStyle + '" target="' + settings.bannerLinkTarget + '">' + settings.bannerLinkText + '</a> ' +
'<button type="button" id="cookieChoiceDismiss" class="' + settings.bannerButtonClass + '" style="' + settings.bannerButtonStyle + '">' + settings.bannerButtonText + '</button>' +
'</div>'
);
$("#cookieChoiceInfo").slideDown();
}
$("#cookieChoiceDismiss").on("click", function () {
var expires = ""
if (settings.cookieDuration) {
var date = new Date()
date.setTime(date.getTime() + (settings.cookieDuration*24*60*60*1000))
expires = "; expires=" + date.toGMTString()
}
document.cookie = settings.cookieName + "=" + settings.cookieValue + expires + "; path=" + settings.cookiePath;
$("#cookieChoiceInfo").slideUp();
});
};
}(jQuery));
$(document).cookieConsent({
bannerMessage: "
<?php $smarty->configLoad('lang_' . $_SESSION['language'] . '.custom'); echo $smarty->getConfigVars('eu_cookie_txt'); ?>",
bannerLinkText: "
<?php echo $smarty->getConfigVars('eu_cookie_link'); ?>",
bannerButtonText: "
<?php echo $smarty->getConfigVars('eu_cookie_confirm'); ?>",
bannerLinkURL: "
<?php echo xtc_href_link
(FILENAME_POPUP_CONTENT
, 'coID=' . EU_COOKIE_CONTENT
); ?>"
});
}
<?php endif; ?> // END Creare's 'Implied Consent' EU Cookie Law Banner
auf false setzen.
Es stehen im Skript oben dann diese zwei Ausgabealternativen zur Verfügung.
Das Resultat sollte dann so aussehen.