Das ist insofern gut machbar, gilt aber unter bestimmten Umständen (zb wenn ich aus einem modalem Container eine Folgeseite abrufe) bei bestimmten Dateien nicht, die über serendipity_getTemplateFile laufen (zb admin/entries.tpl und admin/media_upload.tpl).garvinhicking wrote:Du kannst im frontend_configure event hook durchaus $serendipity['templatePath'] oder $serendipity['template'] umbiegen...
Die Benutzung von innerHTML ist ziemlich auszuschließen, da es m.W. javascript herausrechnet und nur der Standard HTML DOM-Spezifikation folgt.garvinhicking wrote:Das ist, damit nur bei Browsern mit Javascript diese Buttons ausgegeben werden. Dient also dazu bei deaktiviertem Javascript auch nur die Buttons zu sehen die auch funktionieren...3. Warum werden die textarea serendipityPrettyButton input_buttons für bbc-code und media library serendipity_admin_image_selector.php window.open, so a la:in der admin entries.tpl, sowie im entryproperties plugin und anderen, grundsätzlich mit javascript document.write() hergestellt? Ist das unbedingt nötig? Und wenn ja warum genau?Code: Select all
<script type="text/javascript" language="JavaScript">document.write('<input class="serendipityPrettyButton input_button" type="button" ...
Ansonsten denke ich könnte man um das document.write auch herumkommen indem man den Code so ändert dass man ein leeres HTML-DIV erstellt und im javascript darauf per "document.getElementById('blabla').innerHTML += 'xxx' zugreift und das so reinschreibt. Ob das allerdings in das modale dialogkonzept reinpasst weiß ich auswendig nicht; ich denke das wird nicht so trivial sein das in beiden Kontexten mit einem Code abzubilden...
Ich habe für den BBCode auch schon eine nicht allzu aufgeblähte Lösung mit nativem Javascript gefunden, die vollständig auf document.write verzichtet. Allerdings - bevor ich das dann hochlade - wüßte ich gerne, warum eigentlich in der admin/entries.tpl der BBCode der normalen body toolbar mit document write geschrieben während der BBC der extended_body toolbar in reinem Html geschrieben wird. Ich sehe den Unterschied nicht! Ist das damals möglichweise einfach vergessen worden?
https://github.com/s9y/Serendipity/blob ... es.tpl#L90
https://github.com/s9y/Serendipity/blob ... s.tpl#L159
Wenn dem so ist, wäre ja die Frage ob man das heutzutage in 1.7 und up nicht gänzlichst lässt oder aber konsequent nutzt?