Dies ist eine alte Version des Dokuments!
Die Inhalte werden von parseFunc
nach dem Laden aus der Datenbank verarbeitet und im Frontend ausgegeben. Die Originaldaten in der DB bleiben selbstverständlich unverändert. parseFunc kann Inhalte oder HTML-Elemente ersetzen und Attribute hinzufügen.
Kommaseparierte Listen der erlaubten bzw. verbotenen HTML-Elemente. Verbotene Elemente werden vor der Ausgabe im Frontend umgewandelt (die spitzen Klammern werden durch <
und >
ersetzt) und dadurch als Text mit ausgegeben (<b>bold</b>
). Die Angaben unter allowTags
haben Priorität vor denyTags
.
# Entfernt alle Elemente außer <p> und <div> parseFunc.allowTags = p,div parseFunc.denyTags = *
constants = 1
erlaubt das Ersetzen von Konstanten, die über das Top Level Object CONSTANTS definiert wurden, in Inhaltselementen und im TS festgelegten Werten (10.value = XY
).
Ersetzt ebenfalls Strings.
# Ersetzt alle Vorkommen des Strings "HTML" in "Hypertext Markup Language" # Inhaltselemente lib.parseFunc_RTE.short.HTML = Hypertext Markup Language # Alle ausgegebenen Elemente (z.B. auch Menüs) page.stdWrap.parseFunc.short.HTML = Hypertext Markup Language
Hiermit wird der Inhalt aufgeteilt, bevor er an parseFunc
übergeben wird: Nur der Inhalt außerhalb der definierten HTML-Elemente wird geparst. Als externalBlocks definierte HTML-Elemente sind also z.B. von denyTags nicht betroffen. Diese Elemente müssen zwingend definiert werden (externalBlocks = p,div
), bevor sie verarbeitet werden können.
10 = TEXT 10.value = <b>bold</b> bleibt bold, <i>italic</i> nicht. 10.parseFunc { externalBlocks = b externalBlocks { ... } denyTags = b,i } # Ausgabe: <b>bold</b> bleibt bold, <i>italic</i> nicht.
Mit callRecursive= 1
wird der Inhalt des Blocks ein zweites Mal an parseFunc
übergeben, um die folgenden Eigenschaften anzuwenden. Lediglich bei externalBlocks.[Tag].stdWrap
ist diese Aktivierung nicht erforderlich.
Ersetzt das HTML-Element durch einen zu definierenden Wrap.
10 = TEXT 10.value = <b>Inhalt</b> 10.parseFunc { externalBlocks = b externalBlocks.b.callRecursive = 1 externalBlocks.b.callRecursive.alternativeWrap = <i>|</i> } # Ausgabe: <i>Inhalt</i>
Ermöglicht das Anwenden von stdWrap
-Funktionen auf das einleitende Tag. So lassen sich z.B. mittel HTMLparser
Attribute ergänzen.
10 = TEXT 10.value = <b>Inhalt</b> 10.parseFunc { externalBlocks = b externalBlocks.b.callRecursive = 1 externalBlocks.b.callRecursive.tagStdWrap.HTMLparser = 1 externalBlocks.b.callRecursive.tagStdWrap.HTMLparser.tags.b.overrideAttribs = style=color:red;" } # Ausgabe: <b style=color:red;">bold</b>
dontWrapSelf = 1
entfernt das definierte HTML-Element. Alle rekursiv angewendeten Wraps haben dann allerdings keine Wirkung auf das Element.
10 = TEXT 10.value = <b>Inhalt</b> 10.parseFunc { externalBlocks = b externalBlocks.b.stdWrap.wrap = <i>|</i> externalBlocks.b.callRecursive = 1 externalBlocks.b.callRecursive.alternativeWrap = <strong>|</strong> externalBlocks.b.callRecursive.dontWrapSelf = 1 } # Ausgabe: <i>Inhalt</i>
Ermöglicht stdWrap-Funktionen unabhängig vom rekursiven Aufruf.
10 = TEXT 10.value = <b>Inhalt</b> 10.parseFunc { externalBlocks = b externalBlocks.b.stdWrap.wrap = <i>|</i> } # Ausgabe: <i><b>Inhalt</b></i>
boolean. Wandelt alle Strings mit http:// und mailto: in Links um.