Die bedingten Kompilierung erfolgt anhand von <#? ?#> Tags, und ist hier explizit beschrieben.
Mit <!=NAME.ESP!> kann ein weiteres ESP-Dokument eingebunden werden. Dieses wird dann bei der Verarbeitung genau an der Stelle platziert, wo die <!=!> Direktive steht.
Dadurch lassen sich in größeren Projekten leicht Teilbausteine an unterschiedlichen Stellen wieder verwenden.
Mit der Direktive <#document.title=Anzuzeigender Seitentitel#> kann der Inhalt der Titelzeile bestimmt werden. Dabei kann der Platzhalter {contextName} verwendet werden, um den Namen des Contexts auszugeben.
<#document.title=Adressüberischt ({contextName})#>
Mit der Direktive <#document.script=Pfad und Name des JS-Files#> kann ein beliebiges JavaScript-Dokument eingebunden werden.
Dabei kann auch der Platzhalter @@@ für den relativen Context-Pfad verwendet werden.
<#document.script=@@@/js/addresses.js#>
Mit der Direktive <#document.css=PFADZUMCSS#> können beliebige Stylesheet-Quellen eingebunden werden.
<#document.css=@@@/css/default.css,@@@/css/special.css#>
oder<#document.css=@@@/css/default.css#>
<#document.css=@@@/css/special.css#>
Um seine eigene Funktionsbibliothek einzubinden benötigt man diese Direktive: <#document.uses=PFADZUMMODUL#>
<#document.uses=@@@/lib/meinefunktionen.mod,/var/lib/meinelib/modul.mod#>
ist identisch mit<#document.uses=@@@/lib/meinefunktionen.mod#>
<#document.uses=/var/lib/meinelib/modul.mod#>
Die Direktive <#document.mode=plain#> teilt dem ESP-Prozessor mit, dass das Ergebnis nicht in das Standard-HTML-Template eingebettet werden soll.
Es obliegt dannn dem Programmierer, dafür zu Sorgen, ein vollständiges Dokument auszugeben (z.B. <HEAD>,<BODY> etc. richtig zu setzen)
<#document.mode=plain#>
document.contenttype
Wenn keine HTML-Seite ausgegeben werden soll, sondern zum Beispiel ein XML-Dokument, kann dies dem Browser hier mitgeteilt werden.
Wird meist zusammen mit document.mode=plain verwendet.
<#document.mode=plain#>
<#document.contenttype=text/xml#>
Zu beachten: Hier beginnt die Direktive mit compiler und nicht wie bei den vorhergehenden Direktiven mit document
<#compiler.extensions=LISTEDEREINZUBINDENDENEXTENSIONS#>
<#compiler.extensions=ajax,ajaxform,mkls#>
oder<#compiler.extensions=ajax#>
<#compiler.extensions=ajaxform#>
<#compiler.extensions=mkls#>
Mit <#compiler.finalize=procedure@modul#> kann, vor der Ausgabe des Dokuments an den Browser, eine letzte Funktion aufgerufen werden.
Diese könnte dazu dienen, temporäre Dateien zu entfernen, oder Übersetzungsplatzhalter gegen die jeweiligen Sprachbausteine auszutauschen.
Während der Übersetzung des ESP-Dokuments in EASY-Code wird die Existens des Moduls überprüft. Die Ausführung findet aber erst zur Laufzeit statt.
Die auszuführende Funktion muss genau einen Parameter vom Typ STRING erwarten. Darin wird der Ramtext mit dem Ausgabedokument übergeben ('ramtext:outputbuffer').
Die hat nun alle Möglichkeiten, mit diesem Ramtext zu verfahren.
<#compiler.finalize=translate@program/translation#>
esp:direktiven, Rev. 14, Zuletzt geändert 2006-12-12 10:59, 2813 Aufrufe
