WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 22.02.2022 11:55:49

handy
Mitglied

Speichern vergessen

Passiert das eigentlich nur mir?
Gelegentlich rufe ich nach dem Editieren einer Seite schon die nächste Seite auf, ohne daran zu denken, zuvor nach unten zu scrollen und auf den "Speichern"-Button zu drücken. yikes
Ein Popup-Fenster mit Abfrage "Seite verlassen ohne zu speichern?" und idealerweise einem "Speichern"-Button wäre da sehr hilfreich.

Offline

#2 22.02.2022 12:46:54

mrbaseman
Developer

Re: Speichern vergessen

hmm.... man könnte einen Outputfilter basteln, der im Backend einen Javascript Code einfügt, der an das onbeforeunload  Event bindet. Die nächste Stufe wäre dann noch bei den verschiedenen Modulen zu erkennen, wenn der Speichern-Button betätigt wurde (je nach Seite können das ja die unterschiedlichsten Module sein) , und das Popup dann nicht anzeigen. Und wenn dann wieder etwas geändert wurde, das Popup doch wieder anzeigen... Auch da müsste man mit einem sehr generischen Javascript-Code möglicherweise vorhandene Formulare durchlaufen und an onchange events binden...
Dieser Javascript Code kann natürlich auch einfach ins Backend-Template fest verdrahtet werden, Da muss man ihn allerdings dann nach einem Update wohl immer wieder einpflegen, denn Ich vermute starkt, dass viele Nutzer solche Popups eher als störend empfinden würden.

Offline

#3 22.02.2022 12:58:35

handy
Mitglied

Re: Speichern vergessen

Hallo mrbaseman,
das Popup-Fenster sollte ja nur aufpoppen, wenn die Seite geändert wurde UND ungespeichert verlassen wird (bei Aufruf einer neuen Seite). Ein Schalter, der bei der ersten Änderung des Seiteninhaltes umschaltet, und beim Aufruf der neuen Seite ausgewertet wird, ist vermutlich nicht (so einfach) realisierbar.

Offline

#4 22.02.2022 13:24:48

mrbaseman
Developer

Re: Speichern vergessen

ja, genau - und das ganze sehr generisch, da es ja mit allen Arten von Modulen zusammenarbeiten soll...  einfach ist das wohl nicht, aber wie gesagt, ich denke mit etwas JS Code im Backend könnte man es hinkriegen. Eine weitere  Hürde ist noch, dass man das "Wegnavigieren" aus dem Popup heraus sauber abfangen muss - und das unabhängig vom verwendeten Browser, und danach auch der Seiteninhalt mitsamt den vorgenommenen Änderungen noch geladen sein soll. Das i-Tüpfelchen wäre natürlich, aus dem Popup heraus den richtigen Speichern-Button abfeuern zu können.
Ich fürchte letzteres ist eine Unlösbare Aufgabe, denn man kann ja mehrere Abschnitte auf einer Seite haben, in denen man etwas ändert, aber man kann dann nur einen Speichern-Button von genau einem Abschnitt betätigen. Welcher ist gemeint, wenn mehrere Abschnitte geändert wurden?

Offline

#5 22.02.2022 14:56:40

handy
Mitglied

Re: Speichern vergessen

es wäre so schön gewesen ;-)

Offline

#6 23.02.2022 11:32:20

webbird
Administrator

Re: Speichern vergessen

Die einfachste Variante ist, auf Keydown und/oder Mousedown zu triggern, also Tastatureingabe und/oder Mausklick. Das würde dann bedeuten, dass *irgendein* Klick bzw *irgendeine* Taste dazu führen, dass die Seite als "verändert" angesehen wird. Das ist so die klassische "Wollen Sie die Seite wirklich verlassen?"-Lösung. Wenn man dann "nein" sagt, muss man eben selber wissen, was man vorher noch schnell speichern muss. Das ist gar nicht mal so schwierig zu bauen, aber auch nicht die Super-Komfort-Lösung, die mrbaseman beschreibt.


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#7 23.02.2022 11:33:02

webbird
Administrator

Re: Speichern vergessen


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#8 23.02.2022 14:48:21

mrbaseman
Developer

Re: Speichern vergessen

@webbird genau, in diese Richtung hab ich gestern auch gedacht. Ich hätte aber statt Keydown eher onchange genommen. Ich versuch mal was zu basteln.

Offline

#9 24.02.2022 00:40:59

mrbaseman
Developer

Re: Speichern vergessen

hier mal ein erster Versuch... im Backend, unter Admin-Tools das Outputfilter Dashboard öffnen, (ggf. erweiterte Optionen anzeigen aktivieren und einmal speichern), dann Plugin hochladen

Wie ich vermutet hatte, ist das nicht so ganz ohne, denn ein wysiwyg Editor, der auf ckeditor beruht, verhält sich nicht mehr wie eine textarea, auch ein Code2 mit Codemirror als Syntax-Highlighting mag nicht so richtig, und bestimmt habe ich noch diverse Sonderbehandlungen für andere Input-Möglichkeiten übersehen.... aber es ist mal so ein erster Ansatz, zumindest ans Speichern zu erinnern, wenn es Änderungen gab.

Offline

#10 24.02.2022 12:38:37

webbird
Administrator

Re: Speichern vergessen

Ich hab das für BC2 mit dem MutationObserver gemacht.

https://www.w3docs.com/learn-javascript … erver.html

In meinem Fall verknüpft mit "contenteditable", aber das kann man sich ja anpassen. In BC2 wird ein "Inhalt geändert" Marker gesetzt (tatsächlich auch beim entsprechenden Block als Icon sichtbar), auf den man dann wiederum beim Verlassen der Seite zurückgreifen kann.

Beitrag geändert von webbird (24.02.2022 12:40:34)


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#11 24.02.2022 21:43:12

mrbaseman
Developer

Re: Speichern vergessen

das muss ich mir mal zu Gemüte führen  smile

Offline

Fußzeile des Forums

up