WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 11.07.2024 16:53:51

chriz
Member

Neues Modul: Content Consent

Ich habe in den letzten Tagen mein erstes Modul (Snippet + Tool) für WBCE erstellt.

Es ist eine Kombination der Funktionen von "Vorschaltseite" und "Cookie Consent".
Deshalb heißt es Content Consent.

Wenn das Modul installiert (und im Tool aktiviert) ist, wird auf allen Frontend-Seiten ein nahezu bildfüllender Hinweistext mit einem "Akzeptieren"-Button über den eigentlichen Inhalt geblendet. Nach Anklicken des Buttons verschwindet der Hinweis für (Default) 30 Tage, was per Cookie geregelt wird.

Mitgeliefert sind die Sprachen Deutsch und Englisch. Die Frontend-Hinweistexte natürlich nur als Demo.
Die Sprache des Textes im Frontend wird nach Browsereinstellung des Besuchers gewählt. (Nicht per Seiteneinstellung in WBCE.)

Für Interessierte und Mutige hänge ich die Installationsdatei hier an.

Ich habe viel gelernt über und in WBCE, PHP, Javascript und HTML/CSS in den letzten Tagen (und Nächten...).

Über Hinweise, Rückmeldungen und konstruktive Kritik zum Modul würde ich mich freuen.

Offline

Liked by:

florian, ruebezahl

#2 11.07.2024 17:33:30

florian
Administrator

Re: Neues Modul: Content Consent

Danke für das Modul. Es funktioniert problemlos, es gibt aber im Errorlog noch einen Eintrag:

2024-07-11T15:30:52+00:00 [Visitor Request].../admin/admintools/tool.php?tool=content_consent
2024-07-11T15:30:52+00:00 [Warning] /modules/content_consent/tool.php:[59] from /admin/admintools/tool.php:[100] "Undefined variable $contentconsentActive" 

Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#3 11.07.2024 20:53:09

chriz
Member

Re: Neues Modul: Content Consent

Ups.
Die Variable war nicht nur an der Stelle undefiniert, sondern da war ein dazugehöriges Setting inkonsistent benannt...
Die korrigierte Version hängt unten an.

Offline

#4 12.07.2024 07:35:49

florian
Administrator

Re: Neues Modul: Content Consent

Sehr gut, danke.

Ein kleiner Änderungsvorschlag noch: In der tool.php die Zeile

echo registerEditArea('contentconsent', 'js', true, 'both', true, true, 600, 450, $toolbar = 'default');

ändern zu

echo registerEditArea('contentconsent', 'html', true, 'both', true, true, 600, 450, $toolbar = 'default');

(dann ist das Syntaxhighlighting passender)


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#5 12.07.2024 08:32:54

chriz
Member

Re: Neues Modul: Content Consent

Ist erledigt, siehe Anhang.
Und ein paar kleinere Schönheitsflecken sind auch gefixt.

Offline

Liked by:

mk70

#6 12.07.2024 13:12:26

chriz
Member

Re: Neues Modul: Content Consent

... und weil ich gerade so im Fluß bin, habe ich im Admin-Tool des Moduls noch einen Editor für die frontend.css eingebaut.

So ist z.B. die Transparenz des Dialoges schnell mal ohne Datei-Editieren angepasst.

Dazu habe ich das interne Handling des defaults-Verzeichnisses etwas erweitert. Es wird nun rekursiv ins Modul-Verzeichnis kopiert.

PS: Erstaunlich, wie schnell die Versionsnummern hochgehen...
PPS: Ob ich ich auch die Sprachdatei(en) in ein Editor-Window des Admin-Tools packe? Da bin ich mir noch nicht sicher.

Edit: Anhang angehängt...

Last edited by chriz (12.07.2024 13:28:44)

Offline

Liked by:

webbird, florian

#7 13.07.2024 07:53:48

chriz
Member

Re: Neues Modul: Content Consent

Angehängt eine neue Version mit verbesserter Fehlerbehandlung.

Zwei technische Fragen/Anmerkungen habe ich noch:

1.) Im Modul verwende ich (lesend) an verschiedenen Stellen das in info.php gesetzte "$module_directory".
Zwischendurch hatte ich Zweifel, ob das eine gute Idee ist, falls das evtl. "global" ist und vielleicht unterwegs auf ein anderes Modul verweist. Bisher habe ich aber keine Probleme damit.
Ist es also in Ordnung, diese Variablen aus info.php beliebig im Modul zu nutzen?

2.) Beim Installieren von Modulen wird eigentlich immer "Erfolg" gemeldet, auch wenn intern technische Fehler auftreten, z.B. beim Kopieren von Dateien ans Ziel (defaults).
Macht es nicht Sinn, die Modul-install.php's eventuelle Fehlermeldungen per return zurückgeben zu lassen und diese dann im admin/modules/install.php auszuwerten/anzuzeigen?
Ich schaue mir das noch etwas genauer an und versuche, Vorschläge zu machen.

Offline

Liked by:

byteworker, florian

#8 13.07.2024 18:08:14

florian
Administrator

Re: Neues Modul: Content Consent

Getestet, funktioniert.

Zu 1)
Sollte zumindest im Backend eigentlich keine Probleme machen. Im Frontend (aber da kommt es ja nicht zum Einsatz) wäre ich mir nicht ganz so sicher, dass es da nicht zu irgendwelchen Interferenzen kommt.
Du könntest

$mod_dir_contentconsent = basename(dirname(__FILE__));

o.ä. verwenden.

zu 2.)
Das ist eine gute Idee. Wobei allerdings Fehler bei der Installation sich ggf. im Errorlog niederschlagen (wo man aber nicht zwangsläufig reinschaut).


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#9 17.07.2024 13:20:17

chriz
Member

Re: Neues Modul: Content Consent

Eine interessante Herausforderung (aka Problem) stellte sich bei weiteren Tests des Moduls:

Wenn der Browser zumindest beim ersten Besuch der mit dem Zustimmungsdialog ausgestatteten Seite Javascript blockiert hat (das ist bei mir bei "fremden" Seiten i.d.R. der Fall), wird der Dialog nicht angezeigt. Ups.  yikes

Ist ja klar, da das intern per Javascript realisiert ist.
Genau wie beim Modul Cookie-Consent, an dem ich mich ursprünglich orientiert hatte...

Deshalb habe ich nun Version 0.4 erstellt, die ohne Javascript auskommt, also alles serverseitig per PHP realisiert.

Das war für mich vom Verständnis der internen Abläufe her deutlich schwieriger, aber ich hoffe, ich habe es ganz gut hinbekommen.
Zumindest meine Tests sind bisher erfolgreich...  big_smile

Die Zustimmung wird weiterhin in einem Cookie gespeichert. Dessen Haltedauer lässt sich nun im Admin-Tool des Moduls einstellen.

Offline

Liked by:

florian, webbird

#10 18.07.2024 09:10:27

florian
Administrator

Re: Neues Modul: Content Consent

Funktioniert.

Folgende Anregungen:

  • einem unbedarften Nutzy könnte es leicht passieren, beim Ändern des Ausgabetextes auch das erforderliche HTML-Gerüst zu beschädigen. Vielleicht sollten daher die eigentliche Ausgabe und der Code voneinander getrennt werden. Ideal: Ein gesonderter WYSIWYG-Editor für den anzuzeigenden Text.(Orientierung: Maintenance Mode Template Editor, https://addons.wbce.org/pages/addons.ph … &item=154)

  • das "Haupt-Häkchen" "Zustimmungsdialog aktivieren" ist arg unscheinbar

  • Aufteilung der Eingabebereiche auf mehrere Reiter (vgl. Global Strings Manager oder Blockrocker/OneByOne)

  • Wunsch, der garantiert über kurz oder lang geäußert werden wird: Auswahl, ob alle oder nur bestimmte Seiten den Overlay anzeigen sollen (aber das ist schon schwieriger umzusetzen, fürchte ich)


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#11 18.07.2024 09:45:55

chriz
Member

Re: Neues Modul: Content Consent

Die ersten beiden Anregungen hatte ich auch schon auf der (Wunsch-) Liste. Mal sehen, ob ich das hinkriege. Learning by doing...
Das mit den Reitern schaue ich mir an.
Eine Einschränkung auf einzelne Seiten widerspricht dem/meinem Einsatzzweck. Es soll explizit der ganze Auftritt überdeckt bzw. ihm zugestimmt werden.

Offline

#12 19.07.2024 00:48:01

chriz
Member

Re: Neues Modul: Content Consent

So, ich habe nun wie angeregt den Ausgabetext optional in ein eigenes Eingabefeld gepackt. Allerdings nicht WYSIWYG, sondern erstmal "nur" HTML.

Das bisher unscheinbare "Haupt-Häkchen" ist nun deutlicher sichtbar.

Die Reiter und die gesamte Optik von Global Strings Manager sind eine super Vorlage, übersteigen aber meine Fähigkeiten bzgl. PHP/HTML/CSS/JS - selbst beim Herauskopieren - bei weitem. (Übrigens: Der GSM läuft irgendwie nicht richtig...)

Deshalb habe ich den Erklärungstext im Tool neu erstellt, so dass die Zusammenhänge nun klarer werden sollten.

Und ich habe die Verwendung von $module_directory in den Sprachdateien entfernt und den Verzeichnisnamen dort erstmal hart codiert. Grund ist der Addon Monitor, der die nicht definiert Variable $module_directory im Errorlog monierte (aber ansonsten funktionierte). Damit hat meine eigene Frage in #7 eine weitere Antwort gefunden...

Angehängt ist Version 0.4.1

Last edited by chriz (19.07.2024 08:00:25)

Offline

#13 19.07.2024 08:02:52

florian
Administrator

Re: Neues Modul: Content Consent

Der GSM läuft irgendwie nicht richtig..

Kannst du dazu bitte ein neues thema aufmachen und den Fehler beschreiben? Überall, wo ich das Modul einsetze, funktioniert es meines erachtesn wie es soll.

Last edited by florian (19.07.2024 08:03:09)


Sorgen sind wie Nudeln: man macht sich meist zu viele.

Offline

#14 21.07.2024 18:52:59

chriz
Member

Re: Neues Modul: Content Consent

In der angehängten Version 0.4.2 habe ich nun im Admin-Tool auch Eingabefelder für Titel und Button-Text hinzugefügt.
Bei allen Eingabefeldern bin ich von der als deprectaed markierten EditArea auf CodeMirror umgestiegen.

Das ebenfalls angehängte Bild zeigt einen Screenshot des Admin-Tools.

Last edited by chriz (21.07.2024 18:53:31)

Offline

Board footer

up