CSS-Klassen als Splitt-Marker sind in der Tat ganz einfach zu realisieren. Sowohl bei der Trennung der Seiten, als auch beim Code zum Speichern der Inhalte aus dem Editor.
Ich habe das dann mal "live" durchgetestet. Der große Nachteil: löscht der User eine Überschrift, ist das nicht mehr so einfach zu reparieren. Er muss nicht nur wieder eine neue Überschrift setzen, sondern auch noch die passende CSS-Klasse zuordnen. Ansonsten funktioniert es so eigentlich ganz prima, unabhängig vom h-Tag.
Die zweite Variante, die im Gespräch war, wäre ein "Custom-Tag", wie zum Beispiel <ml_x>. Das habe ich erst überhaupt nicht getestet, weil man die Tags jedem Editor zuvor als gültigen Code beibringen müsste.
Die dritte Variante ist mein Favorit:
Splitt-Marker wäre ein, der Überschrift vorangestellter, HTML-Kommentar:
Code: Select all
<!--XH_ml1--><hx>Überschrift</hx>
Leider ist diese Variante auch die (für mich) aufwändigste. Splitten ist kein Problem, aber die Routinen zum Speichern der Content-Datei und zur Aufbereitung des Codes aus dem Editor sind ziemlich umfangreich. Aber wenn ich mal verstanden habe, was warum da so trickreich geregexpt wird, ist das aber auch machbar. Zumal Christoph im Zweifelsfall sicher aushelfen könnte .
Technisch ändert sich dadurch am Ende nicht viel. Die globalen Variablen, die Content, Url, Level usw. halten, werden genau gleich erstellt wie zuvor. Die Lösung dürfte somit mit den allermeisten Plugins zusammenarbeiten. Es könnte aber Plugins geben, die den Content aus irgendwelchen Gründen selber splitten. Da müsste dann nachgebessert werden. Neben dem Pagemanager, der natürlich angepasst werden muss, könnte das aber sicher nur weniger als eine Hand voll Plugins betreffen.
Die "Belohnung" wäre dann: alle Überschriften sind beliebig im Inhalt verfügbar, die Seite muss nur zwingend mit irgendeiner Überschrift beginnen (für den Text in der Navigation). Copy&Paste von HTML-Code aus fremder Quelle zerschießt nicht mehr u.U. die Seitenstruktur. Unbeabsichtigtes Löschen im WYSIWYG-Mode ist nicht mehr möglich. User, die lieber mit dem CodeEditor den Quelltext bearbeiten, haben die gleichen Möglichkeiten wie vorher.