![]() ![]() |
Sie sind hier: TeilnehmerInnen > Tiran's Home > StructuredText in PageTemplates verwenden StructuredText in PageTemplates verwendenIn diesem Mini-Howto wird gezeigt, wie man in einer PageTemplate Vorlage abh�ngig von der template.id StructuredText ausgeben kann. Ich hatte das Problem, das ich in einem PageTemplate einen Absatz mit StructuredText einbauen wollte. Nach einigem Probieren und Tipps aus dem DZUG-Chat in +dzug im IRC bin zu einer anderen L�sung gekommen. ScriptingF�r die Ausgabe des StructuredText braucht man nur ein paar Zeilen ZPT-Code, die man am besten in seine Vorlage (Template) legt. PageTemplate VorlageDiese Zeilen werden durch den Inhalt das StructuredText ersetzt.
Erkl�rungPageTemplateDas PageTemplate ist nicht sehr kompliziert. Zun�chst wird der Name der m�glichen STX-Datei mit tal:define="stx_file python: template.id + '_stx'" definiert. Da ich template.id anstatt here.id verwende, kann ich f�r jedes PageTemplate eine eigene STX-Datei verwenden. F�r die Folderansicht hei�t es dann eben index_html_stx Als n�chstes wird �berpr�ft, ob im aktuellen Verzeichnis eine Objekt mit dem vorher definierten Namen existiert. Man kann an dieser Stelle nicht mit tal:condition="exists:stx_file" arbeiten, da dies per Acquisition auch alle Parentfolder durchsuchen w�rde. Stattdessen muss man hier mit objectIds() arbeiten. Mit python: modules['Products.PythonScripts.standard'].structured_text(getattr(here, stx_file)) wird die Methode structured_text() aufgerufen, die die Konvertierung von STX in HTML macht.. Durch getattr(here, stx_file) wird der Methode das Objekt �bergeben, da ein python:here.stx(stx_file) nur der Text Weitere InformationenUm diese Technik richtig verwenden zu k�nnen, sollte man die Ausgabe in seinem Metal-Macro machen.Geschrieben von Tiran . Letzte �nderung 01.04.2003 22:10. |