Opt-In Cookie Extension

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Benutzeravatar
chris1278
Mitglied
Beiträge: 3532
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Opt-In Cookie Extension

Beitrag von chris1278 »

Dann schau dir die beiden scripte an. die sind von klar. falls du ne lösung hast sag bescheid. Die änderungen in der config.js währen dauerrhaft (sofern sich config.js) im Original nicht zu sehr ändert. Die klaro.js sollte unverändert bleiben da diese die eigentliche ausführung übernimmt. Und die Config-js nur die Konfigration der Klaro.js übernimmt.
69bruno
Mitglied
Beiträge: 445
Registriert: 05.06.2020 08:21

Re: Opt-In Cookie Extension

Beitrag von 69bruno »

yupp, melde mich dann
Forum: cruiser-lounge.de
PHPBB-Version: 3.3.11 / Debian-Linux 10 / PHP-Version: 8.1
69bruno
Mitglied
Beiträge: 445
Registriert: 05.06.2020 08:21

Re: Opt-In Cookie Extension

Beitrag von 69bruno »

Melde mich :D

Habe im Pastebin die overall_header_head_append.html und config.js abgelegt, wie sie bei mir funktionieren. (Ich kann aber nur den Code per copy and paste im pastebin einfügen. Bei "Datei hochladen" bekomme ich immer "disallowed content" angezeigt. Muss das so ?)

Leider waren die Test-Sprachvariablen zum Teil nicht gefüllt und verursachten einen hangover. Also habe ich noch if-Blöcke im java eingefügt, die den Variablen einen Wert geben, falls sie leer sein sollten.

Wenn also jetzt Sprachvariablen angelegt würden, könnte man die in die config.js nach diesem Schema einfügen.

Alles zum ansehen auch unter testforum.cruiser-lounge.de implementiert.
Forum: cruiser-lounge.de
PHPBB-Version: 3.3.11 / Debian-Linux 10 / PHP-Version: 8.1
Benutzeravatar
chris1278
Mitglied
Beiträge: 3532
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Opt-In Cookie Extension

Beitrag von chris1278 »

Bruno das erzeugt bei mir nur eine ausgabe so wie bei dir.

So bruno ich hab das problem gelöst.

Ersetze mal deine config.js mit folgendem Inhalt:

Code: Alles auswählen

// By default, Klaro will load the config from  a global "klaroConfig" variable.
// You can change this by specifying the "data-config" attribute on your
// script take, e.g. like this:
// <script src="klaro.js" data-config="myConfigVariableName" />
var klaroConfig = {
        // With the 0.7.0 release we introduce a 'version' paramter that will make
        // if easier for us to keep configuration files backwards-compatible in the future.
        version: 1,
 
        // You can customize the ID of the DIV element that Klaro will create
        // when starting up. If undefined, Klaro will use 'klaro'.
        elementID: 'klaro',
 
        // Setting this to true will keep Klaro from automatically loading itself
        // when the page is being loaded.
        noAutoLoad: false,
 
        // Setting this to true will render the descriptions of the consent
        // modal and consent notice are HTML. Use with care.
        htmlTexts: true,
 
        // Setting 'embedded' to true will render the Klaro modal and notice without
        // the modal background, allowing you to e.g. embed them into a specific element
        // of your website, such as your privacy notice.
        embedded: false,
 
        // You can group services by their purpose in the modal. This is advisable
        // if you have a large number of services. Users can then enable or disable
        // entire groups of services instead of having to enable or disable every service.
        groupByPurpose: true,
 
        // How Klaro should store the user's preferences. It can be either 'cookie'
        // (the default) or 'localStorage'.
        storageMethod: 'cookie',
 
        // You can customize the name of the cookie that Klaro uses for storing
        // user consent decisions. If undefined, Klaro will use 'klaro'.
        cookieName: 'klaro',
 
        // You can also set a custom expiration time for the Klaro cookie.
        // By default, it will expire after 120 days.
        cookieExpiresAfterDays: 365,
 
        // You can change to cookie domain for the consent manager itself.
        // Use this if you want to get consent once for multiple matching domains.
        // If undefined, Klaro will use the current domain.
        //cookieDomain: '.localhost',
 
        // Defines the default state for services (true=enabled by default).
        default: false,
 
        // If "mustConsent" is set to true, Klaro will directly display the consent
        // manager modal and not allow the user to close it before having actively
        // consented or declines the use of third-party services.
        mustConsent: false,
 
        // Show "accept all" to accept all services instead of "ok" that only accepts
        // required and "default: true" services
        acceptAll: true,
 
        // replace "decline" with cookie manager modal
        hideDeclineAll: false,
 
        // hide "learnMore" link
        hideLearnMore: false,
 
        // show cookie notice as modal
        noticeAsModal: false,
 
        // You can also remove the 'Realized with Klaro!' text in the consent modal.
        // Please don't do this! We provide Klaro as a free open source tool.
        // Placing a link to our website helps us spread the word about it,
        // which ultimately enables us to make Klaro! better for everyone.
        // So please be fair and keep the link enabled. Thanks :)
        //disablePoweredBy: true,
 
        // you can specify an additional class (or classes) that will be added to the Klaro `div`
        //additionalClass: 'my-klaro',
 
        // You can define the UI language directly here. If undefined, Klaro will
        // use the value given in the global "lang" variable. If that does
        // not exist, it will use the value given in the "lang" attribute of your
        // HTML tag. If that also doesn't exist, it will use 'en'.
        //lang: 'en',
 
        // You can overwrite existing translations and add translations for your
        // service descriptions and purposes. See `src/translations/` for a full
        // list of translations that can be overwritten:
        // https://github.com/KIProtect/klaro/tree/master/src/translations
 
        // Example config that shows how to overwrite translations:
        // https://github.com/KIProtect/klaro/blob/master/src/configs/i18n.js
        translations: {
                // translationsed defined under the 'zz' language code act as default
                // translations.
                zz: {
                  //  privacyPolicyUrl: '',
                },
                // If you erase the "consentModal" translations, Klaro will use the
                // bundled translations.
                de: {
                        consentNotice: {
                                description: jsv_title_1,
                                learnMore: "Zu den Cookie-Einstellungen",
                        },
                        acceptAll: "Alle akzeptieren",
                        acceptSelected: "Ausgewählte akzeptieren",
                        decline: "Ablehnen",
                        ok: "Akzeptieren",
                        poweredBy: "Realisiert mit Klaro!",
                        service: {
                                disableAll: {
                                        description: "Mit diesem Schalter können Sie alle Dienste aktivieren oder deaktivieren.",
                                        title: "Alle Dienste aktivieren oder deaktivieren"
                                },
                                optOut: {
                                        description: "Diese Dienste werden standardmäßig geladen (Sie können sich jedoch abmelden)",
                                        title: "(Opt-out)"
                                },
                                purpose: "Zweck",
                                purposes: "Zwecke",
                                required: {
                                        description: "Dieser Service ist immer erforderlich",
                                        title: "(immer erforderlich)"
                                }
                        },
                        purposeItem: {
                                service: "Dienst",
                                services: "Dienste"
                        },
                        consentModal: {
                                title: 'Einstellungen für unsere Cookie´s',
                                description:
                                        'Hier können die Einstellungen für Cookies vorgenommen werden die evtl. gesetzt werden. Es sind viele Einstellungen da, das heist aber nicht das auch alle Dienste verwendet werden. Es handelt sich bei diesem Script um ein Vordefiniertes universelles Script zum Auswählen von Cookies.<br><br> Allgemeine Hinweise und Informationen entnehmen Sie bitte unserer <strong>Datenschutzerklärung</strong> bzw. <strong>Nutzungsbedingungen</strong> die wir im Fussbereich der Seite verlinkt haben.',
                        },
                        inlineTracker: {
                                description: 'Beispiel für ein Inline-Tracking Skript',
                        },
                        externalTracker: {
                                description: 'Beispiel für ein externes Tracking Skript',
                        },
                        purposes: {
                                essential: {
                                        description: jsv1,
                                        title: "Technisch notwendige Cookies"
                                },
                                extern: {
                                        description: jsv_desc_1,
                                        title: "Externe Medien"
                                },
                        },
                },
                en: {
                        consentNotice: {
                                description: "A few settings are required to be able to use certain functions. This controls whether a service is allowed to set cookies or not.<br><br>Cookies are set for the following services: <br><br>{purposes}. <br><br>The settings can be changed later at any time.<br><br>",
                                learnMore: "To the cookie settings",
                        },
                        acceptAll: "Accept all",
                        acceptSelected: "Accept selected",
                        decline: "Decline",
                        ok: "Accept",
                        poweredBy: "Realized with Klaro!",
                        service: {
                                disableAll: {
                                        description: "Use this switch to enable or disable all services.",
                                        title: "Enable or disable all services"
                                },
                                optOut: {
                                        description: "This services is loaded by default (but you can opt out)",
                                        title: "(opt-out)"
                                },
                                purpose: "purpose",
                                purposes: "purposes",
                                required: {
                                        description: "This services is always required",
                                        title: "(always required)"
                                }
                        },
                        purposeItem: {
                                service: "service",
                                services: "services"
                        },
                        consentModal: {
                                title: 'Settings for our Cookie´s',
                                description:
                                        'The settings for cookies can be made here, which may be set. There are many settings, but that does not mean that all services are used. This script is a predefined universal script for selecting cookies. <br> <br> For general notes and information, please refer to our <strong> Privacy Policy </strong> or <strong> Terms of Use </strong> which we have linked in the footer of the page.',
                        },
                        inlineTracker: {
                                description: 'Example of an inline tracking script',
                        },
                        externalTracker: {
                                description: 'Example of an external tracking script',
                        },
                        purposes: {
                        essential: {
                                        description: "These cookies are preset values and must be accepted as they are required for the website to operate. \n",
                                        title: "Technically necessary cookies"
                                },
                        extern: {
                                        description: "Cookies can be set here that are sent through external media such as Youtube, Facebook etc. can be created",
                                        title: "External media"
                                },
                        },
                },
        },
 
        // This is a list of third-party services that Klaro will manage for you.
        services: [
                {
                        name: 'essentials',
                        default: true,
                        optOut: false,
                        required: true,
                        title: 'Login, Session Cookies',
                        purposes: ['essential'],
                        cookies: [],
                },
                {
                        name: 'youtube',
                        default: false,
                        title: 'Youtube',
                        purposes: ['extern'],
                        callback : function(consent, app){
                          if (typeof hideAllYoutubeContainer === "function") {
                                if (!consent) {
                                  hideAllYoutubeContainer();
                                } else {
                                  showAllYoutubeContainer();
                                }
                        }
                        },
                        required: false,
                        optOut: false,
                        onlyOnce: true,
        },
 
                
        ],
};
Und in der Overall_header das script so

Code: Alles auswählen

<script>
let praefix;
let jsv1;
let jsv_desc_1;
let jsv_title_1;
 
praefix = "";
jsv1 = praefix + {{ lang('COOKIE_INFO')|json_encode|raw }};
jsv_desc_1 = praefix + {{ lang('REGISTER')|json_encode|raw }};
jsv_title_1 = praefix + {{ lang('WHO_IS_ONLINE')|json_encode|raw }};
 
</script>
Du hattest bei register und who is online den syntax falsch übergeben.

Die Syntax von den Standard Variablen sind in der Regel so:

{L_XXXXXX} diese musst du dann erst mal in twig umwandeln zu {{ lang('XXXXXX') }} dann kannst du diese mit dem script auch übergeben. Das funktioniert. und du kannst auf diese null info verzichten.

Und den Teil hier praefix = ""; ind denzwei Gänsefüschen leer lassen. So werden nur die Variabeln ausgegeben da sonst das was in den Doppel Hochkommas stejht als text ausgegeben wird. und zwar vor der Variabel selber. Aber ohne das praefix = ""; funktioniert das nicht. Diese Vorlage ist aber zumindest so für die Sprachvariable tauglich. Jetzt müsste nur noch ein Weg gefunden werden wie man

alte Syntax <!-- IF S_USER_LOGGED_IN --> <!-- ENDIF -->

das ins js übersetzt.

Wenn ich das im html variante mache müsste der Block im Service bereich dann so aussehen:

Code: Alles auswählen

<!-- IF  S_USER_LOGGED_IN -->
		{
			name: 'essentials',
			default: true,
			optOut: false,
			required: true,
			title: 'Login, Session Cookies',
			purposes: ['essential'],
			cookies: [],
		},
		<!-- ENDIF -->
Zuletzt geändert von chris1278 am 23.12.2020 12:56, insgesamt 1-mal geändert.
69bruno
Mitglied
Beiträge: 445
Registriert: 05.06.2020 08:21

Re: Opt-In Cookie Extension

Beitrag von 69bruno »

??

Wir reden doch davon, dass die Sprachvariablen in das Java-Fenster vom klaroscript kommen, oder ?
Das funktioniert bei mir:
[ externes Bild ]

wobei eben 2 Sprachvariablen bei mir leer waren und ich den Text "Leider kein Wert für xy in php" als Platzhalter eingefügt habe.
Die "description" reagiert auf leere Vabriablen mit Abbruch, da das klaro-script die Einträge prüfen will ("Ends with") und dann weiterverarbeiten will. Was das script da dann macht, weiß ich noch nicht.
Forum: cruiser-lounge.de
PHPBB-Version: 3.3.11 / Debian-Linux 10 / PHP-Version: 8.1
Benutzeravatar
chris1278
Mitglied
Beiträge: 3532
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Opt-In Cookie Extension

Beitrag von chris1278 »

Übrigens mit der von mir korrigierten Variante kann man die Variablen überall einsetzen. Ich muss nur noch sehen, ob in dem unteren Service Bereich die variablen Sinn machen. Weil entweder title oder Name in dem System so sein müssen wie der Klassen Name. Wie sich das verhält, muss ich testen. Werde berichten. Aber zumindest das mit den sprach variablen klappt so. Damit kann ich die config.js dementsprechend so anpassen das die Sprachausgabe via Sprachdateien der Extension gesteuert wird. Weil sonst müsste, für jede sprach einmal alles kopiert und bearbeitet werden.

Und da jeder der Extensions bearbeiten kann ist das auf jeden fall der einfacherer weg. Dafür vielen Dank.

Das was du mit dem script steuer will mus in jedemfall in einen divcontainer sein oder reinkommen.

Wenn die ausgabe schon innerhalb eines Divcontainers steht dann musst du dort wo die class drin steht noch was zu fügen.

Beispiel:

Code: Alles auswählen

<div class="forbag">
weiter div oder dl oder sonswas und inhalt
</div>
Jetzt müssen wir für das cookie script in den Div container noch was zu fügen:

Code: Alles auswählen

<div data-name="test" class="forbag">
weiter div oder dl oder sonswas und inhalt
</div>
Wir haben jetzt dort noch den ansprechpartner fürs cookie script eingetragen: data-name="test"

Sollte dort niox im div oder dd container sein müssenwir das was wir schalten wollen mittels <div data-name="test"> XXX </div> in einen Container legen

und dann in der config.js folgendes einfügen:

Den Block eingefügt in die config.js

Code: Alles auswählen

		{
			name: 'test',
			default: false,
			optOut: false,
			required: false,
			title: 'egal',
			purposes: ['essential'],
			cookies: [],
		},
Daher darf der wert name nicht verändert werden auch nicht durch eine Variable. das was im Cookie fenster angezeigt wird das ist der title und den kan man mit variable fülen das funlktioniert auch.

Mit der Variante wäre die übergabe der Sprachvariablen gelöst.
Zuletzt geändert von chris1278 am 23.12.2020 13:28, insgesamt 1-mal geändert.
69bruno
Mitglied
Beiträge: 445
Registriert: 05.06.2020 08:21

Re: Opt-In Cookie Extension

Beitrag von 69bruno »

Hier mit Prüfung auf S_USER_LOGGED_IN:

Code: Alles auswählen

<script>
let truelog;
let praefix;
let jsv1;
let jsv_desc_1;
let jsv_title_1;

truelog = {S_USER_LOGGED_IN|json_encode|raw};

if (truelog == true){ 
praefix = ""; 
jsv1 = praefix + {{ lang('COOKIE_INFO')|json_encode|raw }};
jsv_desc_1 = praefix + {{ lang('REGISTER')|json_encode|raw }};
jsv_title_1 = praefix + {{ lang('WHO_IS_ONLINE')|json_encode|raw }};
}
</script>

<!-- INCLUDEJS @chris1278_cookie/config.js -->
<!-- INCLUDEJS @chris1278_cookie/klaro.js -->
<!-- INCLUDECSS @chris1278_cookie/cookie.css -->

Forum: cruiser-lounge.de
PHPBB-Version: 3.3.11 / Debian-Linux 10 / PHP-Version: 8.1
Benutzeravatar
chris1278
Mitglied
Beiträge: 3532
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Opt-In Cookie Extension

Beitrag von chris1278 »

So ich hab das hier jetzt mal in die Overall header gepackt:

Code: Alles auswählen

<script>
let truelog;
let truelog2;
let praefix;
let jsv1;
let jsv_desc_1;
let jsv_title_1;

truelog = {S_USER_LOGGED_IN|json_encode|raw};
truelog2 = {ENDIF|json_encode|raw};

praefix = "";
jsv1 = praefix + {{ lang('COOKIE_INFO')|json_encode|raw }};
jsv_desc_1 = praefix + {{ lang('REGISTER')|json_encode|raw }};
jsv_title_1 = praefix + {{ lang('WHO_IS_ONLINE')|json_encode|raw }};
 
</script>
und das hier mal in der config.js gemacht:

Code: Alles auswählen

		truelog
		{
			name: 'rm',
			default: false,
			optOut: false,
			required: false,
			title: 'egal',
			purposes: ['essential'],
			cookies: [],
		},
		truelog2
Und es mus immer zwingend so sein. das ist der code wie er sein sollte wenn die variablen richtig arbeiten. Damit der Schalter entsprechend der Variable angezeigt wird oder nicht. Weil die Schalter sollen alle da sein aber nachher im Admin bereich aktiviert werden oder nicht sprich der Forenbeteiber wählt aus welche schalter er benötigt und diese werden dann sichtbar.

hier die ganze datei:

Code: Alles auswählen

// Standardmäßig lädt Klaro die Konfiguration aus einer globalen Variablen "klaroConfig".
// Sie können dies ändern, indem Sie das Attribut "data-config" auf Ihrem Computer angeben
// Skript nehmen, z.b. so was:
// <script src="klaro.js" data-config="myConfigVariableName" />
var klaroConfig = {
	// Mit der Version 0.7.0 führen wir einen 'version'-Parameter ein, 
	// der es uns einfacher macht, Konfigurationsdateien in Zukunft abwärtskompatibel zu halten.
	version: 1,

	// Sie können die ID des DIV-Elements anpassen, das Klaro erstellt
	// beim Starten. Wenn nicht definiert, verwendet Klaro 'klaro'.
	elementID: 'klaro',

	// Wenn Sie dies auf true setzen, wird Klaro nicht automatisch geladen
	// wenn die Seite geladen wird.
	noAutoLoad: false,

	// Wenn Sie dies auf true setzen, werden die Beschreibungen der Einwilligung angezeigt
	// Modal- und Zustimmungshinweis sind HTML. Vorsichtig verwenden.
	htmlTexts: true,

	// Wenn Sie 'embedded' auf true setzen, wird der Klaro modal und ohne bemerkt
	// den modalen Hintergrund, so dass Sie z.B. Betten Sie sie in ein bestimmtes Element ein
	// Ihrer Website, z. B. Ihre Datenschutzerklärung.
	embedded: false,

	// Sie können Dienste nach ihrem Zweck in einzelne Gruppen zusammenfassen. Dies ist ratsam
	// falls Sie eine große Anzahl von Diensten haben. Benutzer können diese dann aktivieren oder deaktivieren
	// in dem Sie einfach eine ganze Gruppe aktivieren bzw. deaktivieren,, anstatt jeden Dienst einzeln aktivieren oder deaktivieren zu müssen.
	groupByPurpose: true,

	// Wie Klaro die Einstellungen des Benutzers speichern soll. Es kann entweder "Cookie" sein
	// (Standardeinstellung) oder 'localStorage'.
	storageMethod: 'cookie',

	// Sie können den Namen des Cookies anpassen, das Klaro zum Speichern verwendet
	// Benutzerzustimmungsentscheidungen. Wenn nicht definiert, verwendet Klaro 'klaro'.
	cookieName: 'klaro',

	// Sie können auch eine benutzerdefinierte Ablaufzeit für das Klaro-Cookie festlegen.
	// Standardmäßig läuft es nach 120 Tagen ab.
	cookieExpiresAfterDays: 365,

	// Sie können für den Einwilligungsmanager selbst zur Cookie-Domain wechseln.
	// Verwenden Sie diese Option, wenn Sie einmal die Zustimmung für mehrere übereinstimmende Domänen erhalten möchten.
	// Wenn nicht definiert, verwendet Klaro die aktuelle Domain.
	// cookieDomain: '.localhost',

	// Definiert den Standardstatus für Dienste (true = standardmäßig aktiviert).
	default: false,

	// Wenn "mustConsent" auf true gesetzt ist, öffnet sich das Einwilligungsfenster 
	//direkt bei aufruf der Seite und der Benutzer kann die Seite erst wieder 
	//Nutzen wenn er eine auswahl trifft und diese bestätigt.
	mustConsent: false,

	// Bei wert "true" gibt es für den Benutzer die Möglichleit "Alle Cookies akzeptieren" 
	//was heist er mus nicht jeden auswählen wenn er eh alle aktivieren möchte. Ansonsten 
	//hat der Benutzer nur das feld "Ausgewählte Akzeptieren"
	acceptAll: true,

	// Bei auswahl "true" wird der Button "Ablehnen" ausgeblendet
	hideDeclineAll: false,

	// In dem Ersten Fenster den link zu den Einzelnen Cookie-Einstellungen ein- bzw. ausblenden
	// empfohlen: "false"
	hideLearnMore: false,

	// Cookie-Hinweis mittig auf der Webseite anzeigen
	// empfohlen: "false"
	noticeAsModal: false,

	// Du kannst auch das 'Realized with Klaro!' Text in der Cookie-Box ausblenden.
	// Bitte tu das nicht! Wir bieten Klaro als kostenloses Open Source Tool an.
	// Das Platzieren eines Links zu unserer Website hilft uns, das Wort darüber zu verbreiten.
	// was es uns letztendlich ermöglicht, Klaro zu machen! besser für alle.
	// Also sei bitte fair und lass den Link aktiviert. Vielen Dank :)
	// disablePoweredBy: true,

	// Sie können eine zusätzliche Klasse (oder Klassen) angeben, die dem Klaro `div` hinzugefügt wird
	// zusätzliche Klasse: 'my-klaro',

	// Hier können Sie die UI-Sprache direkt definieren. Wenn nicht definiert, wird Klaro
	// benutze den in der globalen Variablen "lang" angegebenen Wert. Wenn das so ist
	// nicht vorhanden, es wird der Wert verwendet, der im Attribut "lang" von angegeben ist
	// HTML-Tag. Wenn das auch nicht existiert, wird 'en' verwendet.
	// lang: 'en',

	// Sie können vorhandene Übersetzungen überschreiben und Übersetzungen für Ihre hinzufügen
	// Servicebeschreibungen und -zwecke. Siehe `src / translations /` für eine vollständige
	// Liste der Übersetzungen, die überschrieben werden können:
	// https://github.com/KIProtect/klaro/tree/master/src/translations

	// Beispielkonfiguration, die zeigt, wie Übersetzungen überschrieben werden:
	// https: // github.com/KIProtect/klaro/blob/master/src/configs/i18n.js
	translations: {
		// translationsed defined under the 'zz' language code act as default
		// translations.
		zz: {
		    //privacyPolicyUrl: 'hier der link für die Datenschutzerklärung',
		},
		// If you erase the "consentModal" translations, Klaro will use the
		// bundled translations.
		de: {
			consentNotice: {
				description: "Um bestimmte Funktionen nutzen zu können sind ein paar Einstellungen nötig. Damit wird gesteuert ob ein Dienst Cookies setzen darf oder nicht. <br><br>Es werden Cookies gesetzt für folgende Dienste:<br><br>{purposes}. <br><br>Die Einstellungen können später zu jedem Zeitpunkt geändert werden.<br><br>",
				learnMore: "Zu den Cookie-Einstellungen",
			},
			acceptAll: "Alle akzeptieren",
			acceptSelected: "Ausgewählte akzeptieren",
			decline: "Ablehnen",
			ok: "Akzeptieren",
			poweredBy: "Realisiert mit Klaro!",
			service: {
				disableAll: {
					description: "Mit diesem Schalter können Sie alle Dienste aktivieren oder deaktivieren.",
					title: "Alle Dienste aktivieren oder deaktivieren"
				},
				optOut: {
					description: "Diese Dienste werden standardmäßig geladen (Sie können sich jedoch abmelden)",
					title: "(Opt-out)"
				},
				purpose: "Zweck",
				purposes: "Zwecke",
				required: {
					description: "Dieser Service ist immer erforderlich",
					title: "(immer erforderlich)"
				}
			},
			purposeItem: {
				service: "Dienst",
				services: "Dienste"
			},
			consentModal: {
				title: 'Einstellungen für unsere Cookie´s',
				description:
					'Hier können die Einstellungen für Cookies vorgenommen werden die evtl. gesetzt werden. Es sind viele Einstellungen da, das heist aber nicht das auch alle Dienste verwendet werden. Es handelt sich bei diesem Script um ein Vordefiniertes universelles Script zum Auswählen von Cookies.<br><br> Allgemeine Hinweise und Informationen entnehmen Sie bitte unserer <strong>Datenschutzerklärung</strong> bzw. <strong>Nutzungsbedingungen</strong> die wir im Fussbereich der Seite verlinkt haben.',
			},
			inlineTracker: {
				description: 'Beispiel für ein Inline-Tracking Skript',
			},
			externalTracker: {
				description: 'Beispiel für ein externes Tracking Skript',
			},
			purposes: {
				essential: {
					description: "Diese Cookies sind voreingestellte Werte und müssen akzeptiert werden, da diese für den Betrieb der Webseite erforderlich sind. \n",
					title: "Technisch notwendige Cookies"
				},
				extern: {
					description: "Hier können Cookies eingestellt werden die durch externe Medien wie z.B. Youtube, Facebook etc. erstellt werden",
					title: "Externe Medien"
				},
			},
		},
		en: {
			consentNotice: {
				description: "A few settings are required to be able to use certain functions. This controls whether a service is allowed to set cookies or not.<br><br>Cookies are set for the following services: <br><br>{purposes}. <br><br>The settings can be changed later at any time.<br><br>",
				learnMore: "To the cookie settings",
			},
			acceptAll: "Accept all",
			acceptSelected: "Accept selected",
			decline: "Decline",
			ok: "Accept",
			poweredBy: "Realized with Klaro!",
			service: {
				disableAll: {
					description: "Use this switch to enable or disable all services.",
					title: "Enable or disable all services"
				},
				optOut: {
					description: "This services is loaded by default (but you can opt out)",
					title: "(opt-out)"
				},
				purpose: "purpose",
				purposes: "purposes",
				required: {
					description: "This services is always required",
					title: "(always required)"
				}
			},
			purposeItem: {
				service: "service",
				services: "services"
			},
			consentModal: {
				title: 'Settings for our Cookie´s',
				description:
					'The settings for cookies can be made here, which may be set. There are many settings, but that does not mean that all services are used. This script is a predefined universal script for selecting cookies. <br> <br> For general notes and information, please refer to our <strong> Privacy Policy </strong> or <strong> Terms of Use </strong> which we have linked in the footer of the page.',
			},
			inlineTracker: {
				description: 'Example of an inline tracking script',
			},
			externalTracker: {
				description: 'Example of an external tracking script',
			},
			purposes: {
			essential: {
					description: "These cookies are preset values and must be accepted as they are required for the website to operate. \n",
					title: "Technically necessary cookies"
				},
			extern: {
					description: "Cookies can be set here that are sent through external media such as Youtube, Facebook etc. can be created",
					title: "External media"
				},
			},
		},
	},

	// This is a list of third-party services that Klaro will manage for you.
	services: [
		{
			name: 'essentials',
			default: true,
			optOut: false,
			required: true,
			title: 'Login, Session Cookies',
			purposes: ['essential'],
			cookies: [],
		},
		truelog
		{
			name: 'rm',
			default: false,
			optOut: false,
			required: false,
			title: 'egal',
			purposes: ['essential'],
			cookies: [],
		},
		truelog2
		{
			name: 'youtube',
			default: false,
			title: jsv_title_1,
			purposes: ['extern'],
			callback : function(consent, app){
			  if (typeof hideAllYoutubeContainer === "function") {
				if (!consent) {
				  hideAllYoutubeContainer();
				} else {
				  showAllYoutubeContainer();
				}
			}
			},
			required: false,
			optOut: false,
			onlyOnce: true,
	},
	],
};
Resultat egal ob eingeloggt oder nicht das script funktioniert so nicht mehr.

Wie setze ich die varible so ein. und man mus immer mit einer if variable wie If S_USER_LOGGD_IN oder egal welcher anderen mit einer ENDIF Variable schliesen. Daher trulog2
69bruno
Mitglied
Beiträge: 445
Registriert: 05.06.2020 08:21

Re: Opt-In Cookie Extension

Beitrag von 69bruno »

soweit ich bisher gesehen habe, arbeitet java ohne endif. Nur die if anweisung und das was getan werden soll in geschwungenen Klammern.

also:
if(Bedingung){
tu was
}

Das truelog2 sollte daher überflüssig sein.

Die If Anweisung hatte ich ja in der overall... schon drin.
die müsste ja nur in die .js rein

bin gerade mit Tochter unterwegs. Setze das nachher mal ein
Forum: cruiser-lounge.de
PHPBB-Version: 3.3.11 / Debian-Linux 10 / PHP-Version: 8.1
Benutzeravatar
chris1278
Mitglied
Beiträge: 3532
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: Opt-In Cookie Extension

Beitrag von chris1278 »

So dann mach das einfach so. Setze den Blog bei dir ein:

Code: Alles auswählen

		
		{
			name: 'rm',
			default: false,
			optOut: false,
			required: false,
			title: 'egal',
			purposes: ['essential'],
			cookies: [],
		},
		
Ist egal, ob die Extension im Forum dazu aktiv ist oder nicht.

Dann versuch mal das so hinzubekommen das die Box im Eingeloggtem Zustand so aussieht:

https://prnt.sc/w8hexo

und im ausgeloggtem Zustand so:

https://prnt.sc/w8he3m
Antworten

Zurück zu „Extension Bastelstube“