Dateien
Folgende Dateistruktur ist für die yesDSGVO notwendig:
yes/includes/classes/yesDSGVO/yesDSGVOmain.php
yes/includes/classes/yesDSGVO/yesDSGVOconsent.php
Grundlegende Funktionalität (SVN, autom. bereitgestellt)
yes/includes/yesDSGVO-consent-script.js
Grundlegende Funktionalität Javascript (SVN, autom. bereitgestellt)
yes/yesDSGVO-consent_backend.php
Verwaltet die Website-User Consent Einstellungen (SVN, autom. bereitgestellt)
yes/includes/modules/other/yesDSGVO_admin.php
Das Modul zur Konfiguration der DSGVO Consent Bereiche (SVN, autom. bereitgestellt)
yes/templates/[templateset]/yes_consent_template.html
Enthält die Anzeige die der Website User erhält, um die DSGVO Einstellungen auszuwählen
yes/templates_source/[templateset]/boxes/yesdsgvo.php
yes/templates/[templateset]/boxes/box_yesdsgvo.html
Das Modul zur Konfiguration der DSGVO Consent Bereiche
Datei Anpassungen
yes/includes/header.php
Irgendwo im head Bereich (also zwischen <head> und </head>) muss dieser Code eingefügt werden:
<script>
<?php
if( defined('MODULE_OTHER_YESDSGVO_ADMIN_STATUS') and MODULE_OTHER_YESDSGVO_ADMIN_STATUS == 'True'){
echo $yesDSGVO->get_heading_js();
}
?>
</script>
Dabei aber darauf achten, dass diese Zeile nicht irgendwo in einer bereits geöffneten script Anweisung oder innerhalb von PHP Anweisungen (zwischen <?php und ?>) eingefügt wird.
yes/templates/AKTUELLESSET/index.html
Die Box {$box_YESDSGVO} einbinden. Wenn der Webseiten-User Consent Einstellungen gewählt hat, hat er die Möglichkeit diese über den bereitgestellten Link wieder zu bearbeiten.
yes/templates_source/AKTUELLESSET/boxes.php
Die Box $box_YESDSGVO bereitstellen.
if( defined('MODULE_OTHER_YESDSGVO_ADMIN_STATUS') and MODULE_OTHER_YESDSGVO_ADMIN_STATUS == 'True'){
include(DIR_WS_BOXES.'yesdsgvo.php');
}
Implementierung
Angenommen es soll auf einer Produktinfo Seite eine spezielle Funktion eingebunden werden die Daten an einen externen Dienstleister sendet:
Zuerst wird im installierten Zusatzmodul yesDSGVO_admin dafür eine Konfiguration bzw ein neuer Consent Eintrag erstellt.
Als Javascript Funktionsname legst du einen eindeutigen Namen fest, zb "weitereProduktinfos". In der DSGVO Beschreibung hinterlegst du, was der Webseitenbesucher in der Datenschutzeinstellung zu dieser Funktion wissen muss. Bei der internen Bezeichnung legst du wieder einen sinnvollen nachvollziehbaren Namen fest zb "weitereproduktinfos".
In diesem Beispiel, wird also der Funktionsname "weitereProduktinfos" festgelegt. Also muss die Javascript Funktion "weitereProduktinfos()" auf der Produktdetailseite existent sein. Ob das im produktinfo Template oder in der index.html stattfindet ist irrelevant.
Da in diesem Beispiel der Code nur auf der Artikelseite geladen werden soll, gehst du ins entsprechende Produktinfo Template. Hier muss ein Container definiert werden, der als id die interne Bezeichnung enthält (in diesem Beispiel also "weitereproduktinfos"). Dieser muss dann so aussehen:
<div id="yesDSGVO_code_weitereproduktinfos"></div>
Wo genau (oben, unten, mitte ...) dieses Div eingefügt wird ist irrelevant. Es muss vorhanden sein.
Hat der Webseitenuser nun in den Datenschutz-Einstellungen den Consent für diesen Bereich akzeptiert und er geht auf die Produktinfo Seite, wird die Funktion "weitereProduktinfos()" autom. ausgeführt. Hat er den Consent nicht akzeptiert, dann nicht.
Das selbe Handling funktioniert auch mit Javascript Dateien statt mit Funktionsnamen.