Dieses Objekt wird benutzt, um irgendwelchen Inhalt mit Sachen wie besonderen typo-Tags, die makeLinks-Sachen und so weiter zu parsen.
Dieses Beispiel nimmt den Inhalt des Feldes bodytext, lässt ihn durch die makelinks-Funktion laufen und ersetzt alle <LINK>- und <TYPOLIST>-Tags durch etwas anderes.
tt_content.text.default {
20.field = bodytext
20.wrap = | <BR>
20.brTag = <br>
20.parseFunc {
makelinks = 1
makelinks.http.keep = path
makelinks.http.extTarget = _blank
makelinks.mailto.keep = path
tags {
link {
current = 1
typolink.extTarget = _blank
typolink.target={$cLinkTagTarget}
typolink.wrap = <B><FONT color=red>|</FONT></B>
typolink.parameter.data = parameters : allParams
}
typolist < tt_content.bullets.default.20
typolist.trim = 1
typolist.field >
typolist.current = 1
}
}
}
Eigenschaft | Datentyp | Beschreibung | Standard | externalBlocks | Liste von Tagnamen + Eigenschaften | Diese Eigenschaft ermöglicht es Ihnen, den an parseFunc übergebenen Inhalt im Vorraus aufzuteilen, sodass nur Inhalt außerhalb der übergebenen Tags geparst wird. Besondere Eigenschaften: - .[Tagname]
- callRecursive = [boolean]: Wenn diese Eigenschaft gesetzt ist, wird der Inhalt des Blocks ein weiteres Mal an parseFunc weitergereicht. Sonst wird der Inhalt einfach ohne jede weitere Bearbeitung - abgesehen von stdWrap (siehe unten) - durchgegeben.
- callRecursive.dontWrapSelf = [boolean]: Wenn diese Eigenschaft gesetzt ist, wird der von parseFunc zurückgelieferte Inhalt NICHT von den Tags umschlossen.
- callRecursive.alternativeWrap: Alternativer Umschluss anstelle der Original-Tags.
- callRecursive.tagStdWrap: »stdWrap-Bearbeitung der Tags des Blocks.
- stdWrap: »stdWrap-Bearbeitung des gesamten Blocks (ob callRecursive gesetzt ist oder nicht)
- stripNLprev = [boolean]: Entfernt den letzten Zeilenumbruch des vorangehenden äußeren Blocks
- stripNLnext = [boolean]: Entfernt den ersten Zeilenumbruch des nachfolgenden äußeren Block
- stripNL = [boolean]: Macht beides oben genannte.
- HTMLtableCells = [boolean]: Wenn diese Eigenschaft gesetzt ist, wird davon ausgegangen, dass es sich beim Inhalt um eine Tabelle handelt, und jede Zelle wird einzeln durchgegangen.
- HTMLtableCells.[default/1/2/3] (mit default werden alle Zellen angesprochen, und mit 1, 2, 3, ... die speziellen Zellen)
- callRecursive = [boolean]: Der Inhalt wird an die aktuelle parseFunc-Funktion übergeben.
- stdWrap: »stdWrap-Bearbeitung des Zelleninhalts.
- tagStdWrap: Der <TD>-Tag wird von »stdWrap bearbeitet.
- HTMLtableCells.addChr10BetweenParagraphs = [boolean]: Wenn diese Eigenschaft gesetzt ist, wird jedes Auftreten von <P></P> von einem chr(10) (Zeilenumbruch) gefolg sein.
Beispiel: Dieses Beispiel wird benutzt, um regulären Text aufzuteilen, sodass Tabellen und Zitate korrekt verarbeitet werden. Die Zitate werden (rekursiv) wieder an parseFunc weitergeleitet und außerdem wird ihr oberer/unterer Außenabstand auf 0 gesetzt, (sodass keine Zeilenumbrüche sichtbar sind). Bei der Darstellung der Tabellen werden ebenfalls einige Eigenschaften der Zellen überschrieben. tt_content.text.20.parseFunc.externalBlocks { blockquote.callRecursive=1 blockquote.callRecursive.tagStdWrap.HTMLparser = 1 blockquote.callRecursive.tagStdWrap.HTMLparser { tags.blockquote.fixAttrib.style.list = marginbottom:0;margin-top:0; tags.blockquote.fixAttrib.style.always=1 } blockquote.stripNLprev=1 blockquote.stripNLnext=1 table.stripNL=1 table.stdWrap.HTMLparser = 1 table.stdWrap.HTMLparser { tags.table.overrideAttribs = border=0 cellpadding=2 cellspacing=1 style="margin-top:10px; marginbottom:10px;" tags.tr.allowedAttribs=0 tags.td.overrideAttribs = valign=top bgcolor="#eeeeee" style="font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; font-size:10px;" } } | | constants | boolean | Die auf toplevel-Ebene definierten Konstanten werden im Text ersetzt. Der Konstantenname wird von ### umschlossen. Beispiel: constants.EMAIL = email@email.de (ANMERKUNG: Das hier ist toplevel-Typoscript) Jedes Auftreten von ###EMAIL### wird dann im Text ersetzt. Die Konstanten werden als toplevel-Objekt definiert. | | short | Array von strings | Wie »constants, allerdings lokal. Beispiel: Dies ersetzt jedes Auftreten von T3 mit Typo3 CMS und T3web mit einem Link auf typo3.net short { T3 = Typo3 CMS T3web = <a href="http://www.typo3.com">typo3</a> }
| | plainTextStdWrap | »stdWrap | Diese Eigenschaft gibt die stdWrap-Eigenschaften für den Inhalt außerhalb der Tags. | | userFunc | Funktionsname | Dies übergibt den Inhalt außerhalb der Tags an eine Funktion Ihrer Wahl. Ähnlich wie z.B. ».postUserFunc in stdWrap. Denken Sie daran, dass dem Funktionsnamen möglicherweise user_ vorangestellt sein muss. | | nonTypoTagStdWrap | »stdWrap | Wie ».plainTextStdWrap. Unterschied: plainTextStdWrap arbeitet mit ALLEN nicht umschlossenen Abschnitten im Text. nonTypoTagStdWrap ist eine Nachbearbeitung des gesamten Textes (einschließlich Tags) zwischen den besonderen TypoTags (außer, .breakoutTypoTagContent ist für den TypoTag nicht gesetzt). | | nonTypoTagUserFunc | Funktionsname | Wie »userFunc. Der Unterschied ist (wie bei »nonTypoTagStdWrap), dass dies eine Nachbearbeitung aller Inhaltsstücke um die TypoTags darstellt, während .userFunc jeden Inhalt außerhalb der Tags bearbeitet (ANMERKUNG: .breakoutTypoTagContent muss für den TypoTag gesetzt sein, wenn dieser von nonTypoTagContent ausgeschlossen ist) | | sword | wrap | Markiert alle Wörter aus dem mit GET überlieferten Array sword_list[] im Text. Das Wort MUSS mindestens zwei Zeichen lang sein. ANMERKUNG: Funktinoniert nur mit $GLOBALS["TSFE"]->no_cache==1 | <font color="red"> | </font> | makelinks | boolean / »makelinks | Konvertiert Webadressen mit http:// am Anfang und Mail-Adressen mit mailto: am Anfang in Links. | | tags | »tags | Hier können Sie die benutzerdefinierten Tags angeben, die den Inhalt in irgendetwas parsen. | | allowTags | Liste von strings | Liste von Tags, die im Code vorhanden sein dürfen. Höhere Priorität: Wenn ein Tag in allowTags gefunden wird, wird »denyTags ignoriert. | | denyTags | Liste von strings | Liste von Tags, die NICHT im Code vorhanden sein dürfen (Benutzen Sie *, um alle Tags anzusprechen). Geringere Priorität: Wenn ein Tag NICHT in »allowTags gefunden wird, wird denyTags überprüft. Wenn denyTags nicht gleich * ist, und der Tag nicht in der Liste gefunden wird, darf er im Code vorkommen. Beispiel: Dies ermöglicht, <B>- <I>- <A>- und <IMG>-Tags, im Code zu existieren: .allowTags=b,i,a,img .denyTags=* | | if | »if | Wenn if den Wert falsch zurückliefert, wird der Inhalt nicht geparst, sondern direkt zurückgeliefert. | |
Keine Kommentare vorhanden!
|
TYPO3 Ver. 4.2.0 testen
Testen Sie die neue TYPO3 Version 4.2.0 kostenlos für einen Monat

TYPO3 Workshops
TYPO3 Einführungsschulungin Berlin:Montag, 07.07. in Espelkamp:Montag, 04.08. TYPO3 Intensivschulung in Espelkamp:Mi., 06.08. - Fr., 08.08. in Würzburg:Mo., 18.08. - Mi., 20.08. in Köln:Mo., 01.09. - Mi., 03.09 .in Berlin:Mi., 24.09. - Fr., 26.09. TYPO3 Extensionschulungin Berlin:Mo., 14.07. - Mi., 16.07. in Espelkamp:Mo., 11.08. - Mi., 13.08.
|