Benutzer-Werkzeuge

Webseiten-Werkzeuge


typo3:about:functions:parsefunc

parseFunc

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.

allowTags / denyTags

Kommaseparierte Listen der erlaubten bzw. verbotenen HTML-Elemente. Verbotene Elemente werden vor der Ausgabe im Frontend umgewandelt (die spitzen Klammern werden durch &lt; und &gt; 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

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).

short

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

externalBlocks

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, &lt;i&gt;italic&lt;/i&gt; nicht.

externalBlocks.[Tag].callRecursive

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.

externalBlocks.[Tag].callRecursive.alternativeWrap

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>

externalBlocks.[Tag].callRecursive.tagStdWrap

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;">Inhalt</b>

externalBlocks.[Tag].callRecursive.dontWrapSelf

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>

externalBlocks.[Tag].stdWrap

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.

typo3/about/functions/parsefunc.txt · Zuletzt geändert: 2017/11/27 20:41 von admin