Dieses Modul blendet einen minimalistischen Cookie-Hinweis am unteren Bildschirmrand ein. Die Zustimmung wird per localStorage gespeichert, optionale Analytics-Skripte werden erst nach Opt-In geladen.
1. Modul-Dateien anlegen
Lege auf deinem Webspace folgenden Ordner an:
/modules/mod_skcookie/
In diesem Ordner erstellst du die folgenden Dateien und Ordner:
mod_skcookie/
├── mod_skcookie.php
├── mod_skcookie.xml
├── helper.php
├── tmpl/
│ └── default.php
└── media/
└── skcookie.js
2. Inhalt der Dateien
2.1 mod_skcookie.xml
Inhalt der Datei mod_skcookie.xml:
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="6.0" client="site" method="upgrade">
<name>mod_skcookie</name>
<title>SK Cookie Banner</title>
<description>Minimalistisches Cookie-Modul für Joomla 6</description>
<files>
<filename module="mod_skcookie">mod_skcookie.php</filename>
<filename>helper.php</filename>
<folder>tmpl</folder>
<folder>media</folder>
</files>
<config>
<fields name="params">
<fieldset name="basic" label="Einstellungen">
<field name="message" type="textarea" label="Hinweistext"
default="Diese Website verwendet Cookies. Du kannst selbst entscheiden, welche gesetzt werden." />
<field name="analytics" type="textarea" label="Analytics Script (optional)"
description="Wird erst geladen, wenn der Nutzer zustimmt." />
<field name="bgcolor" type="text" label="Hintergrundfarbe" default="#111" />
<field name="fgcolor" type="text" label="Textfarbe" default="#fff" />
</fieldset>
</fields>
</config>
</extension>
2.2 mod_skcookie.php
<?php
defined('_JEXEC') or die;
require_once __DIR__ . '/helper.php';
$analytics = $params->get('analytics', '');
$message = $params->get('message', '');
$bg = $params->get('bgcolor', '#111');
$fg = $params->get('fgcolor', '#fff');
require JModuleHelper::getLayoutPath('mod_skcookie', 'default');
2.3 helper.php
<?php
defined('_JEXEC') or die;
class ModSkcookieHelper
{
public static function escape($string)
{
return htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
}
}
2.4 tmpl/default.php
<?php
defined('_JEXEC') or die;
$analytics = ModSkcookieHelper::escape($analytics);
$message = ModSkcookieHelper::escape($message);
?>
<div id="skcookie-banner" style="
position:fixed;bottom:0;left:0;right:0;
background:<?= $bg ?>;color:<?= $fg ?>;
padding:15px;font-size:15px;z-index:99999;
display:none;">
<div><?= nl2br($message) ?></div>
<div style="margin-top:10px;">
<button id="skcookie-accept" style="padding:6px 12px;">Akzeptieren</button>
<button id="skcookie-decline" style="padding:6px 12px;">Nur notwendige</button>
</div>
</div>
<script src="/modules/mod_skcookie/media/skcookie.js"></script>
<script>
window.SKCOOKIE_ANALYTICS = `<?= $analytics ?>`;
</script>
2.5 media/skcookie.js
(function() {
const banner = document.getElementById("skcookie-banner");
if (!banner) return;
const consent = localStorage.getItem("skcookie");
if (!consent) banner.style.display = "block";
function loadAnalytics() {
if (!window.SKCOOKIE_ANALYTICS) return;
const s = document.createElement("script");
s.innerHTML = window.SKCOOKIE_ANALYTICS;
document.head.appendChild(s);
}
document.getElementById("skcookie-accept").onclick = () => {
localStorage.setItem("skcookie", "all");
loadAnalytics();
banner.remove();
};
document.getElementById("skcookie-decline").onclick = () => {
localStorage.setItem("skcookie", "essentials");
banner.remove();
};
if (consent === "all") loadAnalytics();
})();
3. Modul in Joomla aktivieren
- Im Backend auf Erweiterungen → Module gehen.
- Nach SK Cookie Banner suchen und das Modul öffnen.
- Eine Modulposition wählen (z. B.
debugoder eine eigene Footer-Position). - Status auf Veröffentlicht setzen.
- Unter „Menüzuweisung“ festlegen, ob das Modul auf allen Seiten oder nur auf bestimmten Seiten erscheinen soll.
- Speichern & schließen.
4. Texte und Farben anpassen
Im Modul kannst du:
- Hinweistext frei formulieren (DSGVO-konform, klar und verständlich).
- Optional ein Analytics-Script einfügen (z. B. Matomo, anonymisiertes GA4 – rechtlich prüfen!).
- Hintergrundfarbe und Textfarbe an dein Template anpassen.
5. Rechtlicher Hinweis
Dieses Modul ist technisch minimal gehalten. Ob deine konkrete Nutzung rechtlich sauber ist (DSGVO, TTDSG), hängt von den eingesetzten Diensten (Analytics, externe Inhalte etc.) ab. Im Zweifel solltest du eine rechtliche Prüfung vornehmen lassen.