Wenn ich das machen würde, würde ich auf bb code umstellen. Das können viele fertige Editoren. Dann müsste man aber ein Script schreiben, welches alte Nachrichten migriert. Eigentlich finde ich es auch weiterhin ganz praktisch mit dem eigene Code. So sind falsche Verschachtelungen schon mal ausgeschlossen.
hallo klappt halt immer wohingegen [b]ha[i]llo[/b][/i] schon ein Problem ist. Am Ende ist es aber vollkommen egal, wenn man die Quellansicht nicht zulässt. Ich habe selbst mal nach Editoren geschaut und jetzt erstmal den SCEditor genommen https://www.sceditor.com/.
Die Variante hat er mir nicht vorgeschlagen, wobei ich ihn auch nicht so explizit danach gefragt habe.
Sonst gibt es noch den Tiptap Editor der auch einen Versuch wert wäre. Der kann von Haus aus @mentions was der SC nicht mitbringt. Daher vielleicht eh die bessere Wahl.
Ja, meine aktuelle Variante ist auch TipTap. Der Test läuft hier: https://tst.pcx-forum.com/pxmboard.php?mode=board&brdid=6
Und ja, natürlich müsste man alle Posts umwandeln nach HTML. Das Script dazu hat Claude schon generiert ;)
Die Quotes funktionieren noch nicht richtig und muss natürlich alles noch gut getestet werden, da hatte ich noch keine Zeit. Aber grundsätzlich finde ich den Ansatz gar nicht schlecht.
Hast du weiterhin Smarty als Template System?
Ja. XSL habe ich aber erst einmal außen vor gelassen. Kann man dann ja leicht übertragen wenn Smarty erst einmal funktioniert. Jetzt erstmal das rund machen für produktiv und dann kann man immer noch überlegen, ob eine Single Page Application mit Vue oder React das Ziel sein sollte. So ist es doch auch schon ganz nett. Ist halt noch viel mit Iframes gelöst was für Popups etc. nicht ganz einfach zu sein scheint.
Ja richtig. iFrames haben auch ähnliche Nachteile wie Frames.
Claude hat mir eine Single Page Version gebaut, aber er hat dazu cActionBoard erweitert mit einer _performFramelessAction(), damit das Frameless Skin die Threads, Threadlist und Messages direkt erhält und man nicht einen zusätzlichen mode benötigt. Funktionieren tuts, aber ich bin noch nicht ganz zufrieden mit der Lösung.