Hallo DokuWiki-Developer,
ich versuche mich gerade an meinem ersten Plugin. Mein Ziel ist das Folgende: Ich möchte der gesamten HTML-Seite eine CSS-Klasse zuweisen. Beispielsweise so:
Wiki-Code:
~~PageStyle: big-font-size ~~
HTML-Ergebnis:
<body class="pst_big-font-size"> ... </body>
Nebenbedingungen:
1.) Das Ganze soll out-of-the-box mit jedem Template funktionieren, soll heißen ohne Template-Änderung.
2.) Ich würde gerne auf den Einsatz von JavaScript verzichten (aus "Geschmacksgründen" und damit es auch bei deaktiviertem JavaScript funktioniert).
Meine ursprüngliche Idee bestand darin, per PHP den HTML-Output der Gesamtseite, der sich quasi auslieferungsbereit in irgendeinem Ausgangspuffer befindet, dementsprechend zu patchen.
Allerdings habe ich trotz gründlicher Recherche keinen Weg gefunden, das auf diese Weise umzusetzen. Ganz im Gegenteil scheint es so zu sein, dass das zumindest mit dem derzeitigen DokuWiki-System grundsätzlich nicht umsetzbar ist. (Das vermute ich unter anderem deshalb, weil ich kein Plugin gefunden habe, das auf diese Weise arbeitet, obwohl mir das als ein naheliegender Weg erscheint. Soweit für mich erkennbar, kommt nach MAIN.PHP ja nur noch das Event DOKUWIKI_DONE, das nur von einer sehr überschaubaren Anzahl von Plugins genutzt wird.)
Soweit ich das bis jetzt verstanden habe, scheint das Problem darin zu bestehen, dass der HTML-Code, der dadurch gebildet wird, indem er im PHP-Script unmittelbar und direkt enthalten ist (wie z.B. der Body-Tag in MAIN.PHP), am Ende des Scripts nicht mehr für eine nachträgliche Änderung zur Verfügung steht.
Ist dem so? Habe ich irgendetwas übersehen? Oder gibt es in PHP doch irgendwie eine Möglichkeit, die vielleicht bisher nur noch kein Plugin-Entwickler genutzt hat?
Für die Hilfe vielen Dank im Voraus
- Michael Sy.