WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 01.11.2017 20:55:55

rjgamer
Developer

[Erledigt] Lösung für den Ärger mit dem Anchor-Hash nach dem Speichern

Hallo,

nervt es euch auch, dass wenn ihr mehrere Sektionen auf einer Seite mit dem WYSIWYG (CKeditor) habt und dann bei Speichern wegen dem nachfolgenden Laden der CKEditor-Instanzen nicht mehr beim vorher bearbeiteten WYSIWYG-Editor landet?

Ich hab für Fraggy 2.0.0-rc2 ein kleines jQuery-Script geschrieben und konnte so den Ärger beheben. Ich dachte mir nun, dass es vielleicht Sinn macht, das Script gleich in das CKEditor-Modul zu integrieren. Ihr dürft den Code gerne ohne Copyright-Vermerk 1zu1 übernehmen.

[== JavaScript ==]
    // Move to the correct anchor after CKeditor instances are ready
    if (typeof CKEDITOR !== 'undefined' && window.location.hash !== '') {
        var numberOfInstances = Object.keys(CKEDITOR.instances).length,
                numberOfReadyInstances = 0;

        // Count and move until all instances are ready
        CKEDITOR.on('instanceReady', function () {
            numberOfReadyInstances++;
            if (numberOfReadyInstances === numberOfInstances) {
                $(window).scrollTop($(window.location.hash).offset().top - 75);
            }
        });
    }

Ergänzung: Das Script sollte nur einmal ausgeführt werden. Somit fällt wohl die Integration in das Backend.js schonmal weg. Aber vielleicht gibt es ja noch einen anderen Ansatz.

Gruss

Beitrag geändert von rjgamer (01.11.2017 20:59:17)

Offline

Liked by:

florian, stefanek, screamindan, colinax, jean

#2 04.11.2017 12:10:39

colinax
Developer

Re: [Erledigt] Lösung für den Ärger mit dem Anchor-Hash nach dem Speichern

rjgamer schrieb:

Ich dachte mir nun, dass es vielleicht Sinn macht, das Script gleich in das CKEditor-Modul zu integrieren.

Wo müsste man das Script (genau) einbauen?

Offline

#3 04.11.2017 17:39:48

rjgamer
Developer

Re: [Erledigt] Lösung für den Ärger mit dem Anchor-Hash nach dem Speichern

Am besten am Ende des Bodies wenn wirklich alle CKEditor Instanzen geladen sind oder im Head (mit $.ready(), um zu warten damit jQuery fertig geladen ist).

Evt. lässt es sich so aber auch nur direkt Backend Theme sauber lösen, dann könnt ihr ja den Code auch in das offizielle WBCE BE-Theme integrieren.

Offline

#4 04.11.2017 21:39:56

colinax
Developer

Re: [Erledigt] Lösung für den Ärger mit dem Anchor-Hash nach dem Speichern

Wenn ich so nachdenke ist das ja ein Problem (bzw. fehlendes defektes Features) des wysiwyg Moduls.

Dasselbe Problem tritt ja auch auf, wenn man einen Abschnitt anklickt um von "Abschnitte verwalten" auf "Seite ändern" zu gelangen.

Da kenne ich mich aber zu wenig aus, dass ich es machen könnte.

Beitrag geändert von colinax (05.11.2017 01:20:39)

Offline

#5 04.11.2017 22:49:37

bernd
Developer

Re: [Erledigt] Lösung für den Ärger mit dem Anchor-Hash nach dem Speichern

@Colinax:
Bei den Links in "Abschnitte verwalten" wird der Anchor-Hash ja auch mitgegeben. Das ist also nicht das Problem.

Ich hab das JS-Schnippselchen mal rotzfrech beim Argos-Reloaded in der pages_modify.htt unten dran gehängt.
Das bewirkt zwar kurzfristig eine munteres Rumgehüpfe der Seite ;-) letztendlich landet man aber auf dem gewünschten Anchor.

Evtl. muß ja nur eine wirklich geeignete Stelle für das Script gefunden werden?


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#6 05.11.2017 01:26:02

colinax
Developer

Re: [Erledigt] Lösung für den Ärger mit dem Anchor-Hash nach dem Speichern

bernd schrieb:

Bei den Links in "Abschnitte verwalten" wird der Anchor-Hash ja auch mitgegeben.

Dieser kommt aber nicht an der richtigen Position an.

bernd schrieb:

Ich hab das JS-Schnippselchen mal rotzfrech beim Argos-Reloaded in der pages_modify.htt unten dran gehängt.

Evtl. muß ja nur eine wirklich geeignete Stelle für das Script gefunden werden?

Es sollte bitte nicht zur gewohnheit werden , alles über die Themes zu fixen

bernd schrieb:

Das bewirkt zwar kurzfristig eine munteres Rumgehüpfe der Seite ;-) letztendlich landet man aber auf dem gewünschten Anchor.

Darum sollte meiner Meinung nach, auch das Modul korrigiert werden.

Offline

#7 05.11.2017 02:04:59

bernd
Developer

Re: [Erledigt] Lösung für den Ärger mit dem Anchor-Hash nach dem Speichern

Ich sehe das eher so:
Der kommt schon direkt beim laden der Seite am richtigen Anchor an, aber dann ändert sich ja - durch das laden der CKE-Instanzen - die Höhe der Seite und der Bezug zum Anchor ist weg.
Da wüßte ich halt nicht, wie man das im Modul selber korrigieren könnte, es ist letztlich eine Sache das Seitenaufbaus und da wären wir wieder beim Theme?

Und keine Angst - da wird nichts zur Gewohnheit ;-)
Das war eher so "Jugend forscht" - mal gucken was passiert.


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#8 05.11.2017 11:09:45

colinax
Developer

Re: [Erledigt] Lösung für den Ärger mit dem Anchor-Hash nach dem Speichern

Da hast Du auch wieder recht

vernd schrieb:

Da wüßte ich halt nicht, wie man das im Modul selber korrigieren könnte, es ist letztlich eine Sache das Seitenaufbaus

Könnte man das Modul nicht so umstellen dass es auf die Seite weiterleitet, wartet bis alles geladen ist (was das Script defacto ja macht) und erst dann um Anker springt?

Offline

#9 05.11.2017 11:35:23

bernd
Developer

Re: [Erledigt] Lösung für den Ärger mit dem Anchor-Hash nach dem Speichern

Wüßte jetzt nicht, wie man das bewerkstelligen könnte.

Hatte das Script jetzt mal in der footer.htt, da geht es einigermaßen geschmeidig.

Davon abgesehen hat das Script einen kleinen Schönheitsfehler:
Bei gemischten Sections mit Modulen die beim speichern keinen Anchor-Hash zurückgeben (z.B. Code2) greift es im Bezug auf diese Section halt nicht.


... nein in Europa verwenden wir beim Programmieren nicht € statt $ ...

Offline

#10 05.11.2017 16:48:39

rjgamer
Developer

Re: [Erledigt] Lösung für den Ärger mit dem Anchor-Hash nach dem Speichern

bernd schrieb:

Davon abgesehen hat das Script einen kleinen Schönheitsfehler:
Bei gemischten Sections mit Modulen die beim speichern keinen Anchor-Hash zurückgeben (z.B. Code2) greift es im Bezug auf diese Section halt nicht.

Aber bitte, da kann doch das Script nichts dafür. Ohne Hash auch kein Anchor-Landing  wink

Offline

Fußzeile des Forums

up