Rolf B: HTML-Code Schnipsel in CMS?

Beitrag lesen

Hallo MB,

ein CMS dürfte so gestrickt sein, dass es Seiten-Templates hat, in die es benutzerdefinierte HTML-Fragmente einsetzt. Diese Fragmente können aus anderen Templates generiert werden, oder mit einem HTML Editor wie CKEditor erfasst werden. Es ist dann natürlich Sache des Seitenlayouts, über CSS dafür zu sorgen, dass ein einheitliches Theme eingehalten wird, und Sache der Template- und Fragment-Autoren, ihre Bausteine so zuzuliefern dass das Theme auch wirkt. Wer Bilder anzeigen will, muss sie ohnehin separat ins CMS hochladen.

Inwieweit CKEditor dabei hilft oder stört, musst Du herausfinden. Auf deren Homepage gab's eine Toolbar mit Bild-Include und einer Funktion "Server nach Bild durchsuchen" - da steckte garantiert ein Add-On dahinter, das die Bilderliste vom Server geholt hat.

Was die Ablage der Bausteine in der DB angeht: niemand zwingt dich, das HTML Markup dazu in den CMS Tabellen zu maskieren. Das ist nicht nötig. Eine HTML Maskierung brauchst Du nur dann, wenn du verhindern willst, dass vom User geliefertes HTML vom Browser interpretiert wird. Aber das willst Du hier ja gerade nicht verhindern. Du musst nur verhindern, dass Dir ein CMS Autor bösartiges HTML ins Fragment schiebt. Dabei hilft CKEditor, weil man damit das HTML nicht selbst schreibt.

Anders wird es, wenn Du für CMS-Artikel Vorlagen definieren willst, die vom CMS automatisch ausgefüllt werden sollen. Da brauchst Du selbstgebaute Extralogik, das die auszufüllenden Felder mit Inhalt versieht, solche Felder KÖNNTE man dann per HTML codieren, z.B. als <div class="templateField">template-steuerbefehle</div> - und das Innere dieses div wird vom CMS dann ausgewertet um das Templatefeld auszufüllen. Dabei stört CKEditor allerdings eher, weil er kein freies HTML zulässt. Du musst die Templatefelder also anders codieren, oder ein Add-On für CKEditor suchen, das dich dabei unterstützt. Für die eigene Auswertung, d.h. das Finden der Templatefelder, wäre jedenfalls preg_match ganz hilfreich. Die DOM-Funktionen von PHP scheinen eher auf XML statt HTML ausgelegt zu sein. Was aus meiner Sicht jedenfalls nicht taugt, wäre ein Datenmodell in der Datenbank, das auf konkrete Templatestrukturen ausgelegt ist. Dazu sind solche Templates viel zu variabel.

Rolf

--
Dosen sind silbern