we:Eingabefelder mit ajax nachladen

Fragen zum Erstellen von Templates für webEdition.
Jens Degner
Junior Member
Beiträge: 20
Registriert: Fr 21. Dez 2007, 15:55
Wohnort: Karlsruhe
Kontaktdaten:

we:Eingabefelder mit ajax nachladen

Beitragvon Jens Degner » Di 24. Mär 2020, 18:11

Hallo zusammen,
ich hoffe es geht euch in diesen chaotischen Zeiten allen gut!
Ich nutze die Zeit, um unsere Templates für den Redakteur moderner und benutzerfreundlicher zu gestalten. Dazu möchte ich gerne webEdion Eingabefelder (also bspw. ein we:input) im editmode über eine Schaltfläche per ajax nachladen. Ich würde das gerne über ajax machen, weil ich die sonst üblichen reloads in webEdition umgehen möchte (z.B. bei we:block).
Zum Teil gelingt mir das schon, aber webEdition stellt die Felder erst nach einem reload richtig dar. Und genau das will ich ja vermeiden.
Hat Jemand eine Idee, woran das liegt, bzw. kann mir sagen, was webEdition beim reload genau macht?
Grüße
Jens
Grüße
Jens

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: we:Eingabefelder mit ajax nachladen

Beitragvon mokraemer » Mi 25. Mär 2020, 02:57

ich bin mir nicht sicher, ob das der richtige Weg ist das selbst so zu probieren.
Vermutlich müssen wir dann auch was an den Templates / der Blockgenerierung ändern. Egal ob RPC oder nicht, das Template muß "neu geladen werden", man könnte dann aber nur die Änderung an den Client schicken, was den Seitenaufbau ruhiger machen würde. Dazu müssen wir dann mal sehen, ob der Block dann Dummy-Elemente einfügen muß damit man die später per ajax greifen kann. Da muß man dann auch schauen ob das keine Nebeneffekte hat.

Ich denke das müssen wir schon im Core angehen, dazu hatten wir auch schon mal Überlegungen, die dann aus Zeitgründen erst mal pausiert wurden. Das wäre dann aber auch erst was für Barrhorn; Ich bin leider aktuell grad sehr eingespannt, und Barrhorn soll ja auch endlich fertig werden :)
webEdition-Kern-Entwickler

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: we:Eingabefelder mit ajax nachladen

Beitragvon Finn » Mi 25. Mär 2020, 11:18

Wäre auf jeden Fall längerfristig eine super Funktion. Die Reloads im Backend gerade mit verschachtelten Blöcken sind für Redakteure sehr träge, was den Workflow ein bisschen stört.
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

Jens Degner
Junior Member
Beiträge: 20
Registriert: Fr 21. Dez 2007, 15:55
Wohnort: Karlsruhe
Kontaktdaten:

Re: we:Eingabefelder mit ajax nachladen

Beitragvon Jens Degner » Mi 25. Mär 2020, 17:58

Danke für die Antwort!
Ich habe in der Doku zum Thema "Eigene Tags erstellen" folgendes im Beispiel Quellcode gefunden: we_weTag_parser::printTag('a', $attribs, 'MyLink', false, true).
Tag parsen - das hört sich für mich so an als wäre es in etwa so etwas, was ich benötige. Könnte ich damit weiterkommen?
Schade, dass unsere Tagung jetzt nicht stattfinden kann, sonst hätte man sich dort mal mit dem Thema befassen können.
Grüße
Jens

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: we:Eingabefelder mit ajax nachladen

Beitragvon mokraemer » Do 26. Mär 2020, 09:29

Also noch ist die Tagung nicht abgesagt, aber realistisch betrachtet findet sie wohl nicht statt.

Grundsätzlich kommst du damit weiter. Ich würde trotzdem überlegen die Änderungen für Barrhorn vorzusehen, da es hier einfach viele Änderungen gibt.
Bei einfachen Tags, wie z.B. <we:img> dürfte das einfach sein. Da sollte man dann einen spezielle Klasse im RPC-Bereich einfügen. Was definitiv Probleme macht, sind dann die if-Tags die genau auf sowas im Editmode triggern: <we:ifNotEmpty type="img"> - vermutlich wäre hier nur das Austauschen wirklich "sicher".
Ich glaube das war am Ende auch der Grund, warum wir es erst mal auf Eis gelegt haben - denn auch wenn man hier "nur" ein Bild nachladen muß, ändert sich evtl. das Verhalten der Vorlage.
Man müßte also selbst hier die Vorlage im rpc neu parsen + ausführen und die Änderungen zur alten Version suchen und geeignet übermitteln. Evtl. muß dazu jedes Tag gekapselt werden damit man es irgendwie ansprechen kann.... Ich denke es ist klar worauf ich raus will, du kannst hier ja auch noch mal etwas weiter denken, vielleicht hast du ja auch eine einfache Idee.
webEdition-Kern-Entwickler

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: we:Eingabefelder mit ajax nachladen

Beitragvon WBTMagnum » Do 26. Mär 2020, 15:48

Das ist ein Gedanke den wir auch immer wieder mal gewälzt haben. Wir haben doch einige komplexere Templates mit verschachtelten Blöcken, da stören die Reloads schon erheblich. Wie Marc aber schon geschrieben hat, wird das mit reinen Ajax Calls nur bedingt behebbar sein, da hier die im Template abgebildete Logik nicht einfach abbildbar ist. Und das komplett auf den Client zu verfrachten widerspricht der aktuellen Umsetzung.

Vielleicht wäre aber eine Lösung mittels Shadow-DOM möglich. Das würde zwar noch immer die ganze Seite am Server parsen, der Aufbau am Client wäre aber viel ruhiger, weil nur die Änderungen im DOM eingespielt werden. So ähnliche Lösungen haben wir mit vue.js schon für einige Applikationen umgesetzt.

Liebe Grüße,
Sascha

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: we:Eingabefelder mit ajax nachladen

Beitragvon mokraemer » Do 26. Mär 2020, 20:07

ja, das mit dem Shadow hatte ich auch schon mal in Betracht gezogen, das Rendering der Seite beim Laden das ganze unruhig macht, könnte das schon auch eine Lösung sein. Soweit ich mich erinnere gibt es doch da zu Problemen mit JS Events.
webEdition-Kern-Entwickler


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: Semrush [Bot] und 15 Gäste