stdWrap

Diese Funktion wird häufig als Eigenschaft zu Werten in TypoScript hinzugefügt.
Ein Beispiel am Inhaltsobjekt "HTML":

TypoScript
  1. 10 = HTML
  2. 10.value = some text
  3. 10.value.case = upper

In diesem Beispiel wird der Inhalt des Objekts "10" in Großbuchstaben umgewandelt, bevor er zurückgeliefert wird.

Die stdWrap-Eigenschaften werden in der Reihenfolge ausgeführt, in der sie in der untenstehenden Tabelle aufgeführt sind. Wollen Sie dieses Thema vertiefen, schauen Sie sich die tslib/content.php, Funktion stdWrap()an.

Inhaltsbereitstellende Eigenschaften von stdWrap

Die Eigenschaften in dieser Tabelle werden in der Reihenfolge, in der sie aufgeführt sind, geparst. Die Eigenschaften data, field, current, cObject(in dieser Reihenfolge!) haben eine besondere Bedeutung, da sie benutzt werden, um Daten aus Variablen oder Arrays zu importieren. Das Beispiel von oben könnte so umgeschrieben werden:

TypoScript
  1. 10 = HTML
  2. 10.value = some text
  3. 10.value.case = upper
  4. 10.value.field = header

Die Zeile 10.value = Irgendein Textist jetzt völlig überflüssig, da der gesamte Wert aus dem Feld namens headeraus dem $cObj->data-Array importiert wird.

Eigenschaft Datentyp Beschreibung Standard
Daten einholen:

setContent
ToCurrent

boolean

Setzt den aktuellen Wert auf den eingehenden Inhalt dieser Funktion.

setCurrent

string / stdWrap

Setzt den current-Wert. Diese Eigenschaft wird normalerweise von einer externen Methode gesetzt, also seien Sie vorsichtig hiermit. Es könnte aber nützlich sein, diese Funktion zur Verfügung zu haben.

lang

Array von Sprachschlüsseln

Diese Eigenschaft wird benutzt, um optionale sprachspezifische Werte zu definieren.
Wenn der globale Sprachschlüssel, der von der config-Eigenschaft "language" beschrieben wird, in diesem Array gefunden wird, wird anstelle des Standard-Eingabewertes von stdWrap dieser Wert benutzt.

Beispiel:
config.language = de
page.10 = TEXT
page.10.value = I am a Berliner!
page.10.lang.de = Ich bin ein Berliner!

Dieser Code wird "Ich bin..." anstelle von "I am..." ausgeben.

data

getText

field

Feldname

 

Setzt den Inhalt auf $cObj->data[field].

Beispiel:
Setze den Inhalt auf den Wert des Feldes title:
.field = title

$cObj->data verändert sich. Siehe die Beschreibung für den Datentyp getText.

current

boolean

Setzt den Inhalt auf den current-Wert (siehe »split).

cObject

cObject

Lädt den Inhalt aus einem Inhaltsobjekt.

numRows

siehe numRows

Liefert die Anzahl der von der Abfrage zurückgelieferten Zeilen.

filelist

dir / stdWrap

Liest ein Verzeichnis aus und liefert eine Dateiliste zurück.
Der Wert wird nach "|" in Parameter zerlegt:
1. Der Pfad
2. Kommaliste mit erlaubten Dateiendungen (ohne Leerzeichen); Falls leer, werden alle Endungen zugelassen.
3. Sortierung: name, size, ext, date
4. Umgekehrt: Auf rsetzen, wenn Sie eine umgekehrte Sortierung wollen.
5. fullpath_flag: Wenn gesetzt, wird die Dateiliste mit kompletten Pfaden zurückgeliefert, und nicht nur mit den Dateinamen.

preUserFunc

Funktionsname

Ruft eine PHP-Methode in einer Klasse auf, wobei der aktuelle Inhalt als erster Parameter, und alle Eigenschaften als zweiter Parameter übergeben werden.

Siehe postUserFunc.

Überschreiben / Bedingungen
override string / stdWrap Wenn overrideetwas anderes als "" oder null zurückliefert, wird dieser Wert zum Inhalt.
preIfEmpty
ListNum
(siehe listNum) (siehe listNum)
ifEmpty string / stdWrap Wenn der Inhalt zu diesem Zeitpunkt leer ist (ohne Leerzeichen), bekommt er den Wert von ifEmpty. Nullen zählen auch als leerer Wert.
listNum int + calc + last

Zerlegt den Inhalt nach "," (Komma) und der Inhalt wird auf das Element [ Wert] gesetzt.

Sonder-Schlüsselwort:
lastwird auf das letzte Element des Arrays gesetzt.

Eigenschaften:
.splitChar = string; Gibt den String an, nach dem der Wert zerlegt wird. Wenn splitChar eine Zahl ist, wird das Zeichen mit dieser Nummer benutzt (so trennt z.B. "10" Zeilen).
.stdWrap = stdWrap-Eigenschaften von listNum...

Standardwert = , (Komma)

Beispiele:
Wir haben einen Wert von "Wert 1,Wert 2,Wert 3,Wert 4". Dies hier würde "Wert 3" zurückliefern:
.listNum=last-1

trim PHP-Funktion trim();Entfernt Leerzeichen vor und nach dem Wert.
required boolean Wenn diese Eigenschaft gesetzt ist, muss der Inhalt nach allem Importieren von Inhalten und Prozeduren, die bis jetzt stattgefunden haben (datafield, currentlistNumtrim) einen Wert haben. Nullen werden NICHT als leerer Wert angesehen. Benutzen Sie stattdessen if.
Wenn der Inhalt leer ist, wird sofort "" zurückgeliefert.
if siehe if Wenn das if-Objekt falsch zurückliefert, liefert stdWrapsofort "" zurück.
fieldRequired Feldname Der Wert in diesem Feld MUSS gesetzt sein.
Parsing-Daten
csConv string Konvertiert die Zeichenkodierung des Inhaltes von der durch csConv angegebenen Kodierung zu der des Frontends (durch renderCharset angegeben).
parseFunc Objektpfad-
Referenz / siehe parseFunc

Verarbeitungsanweisungen für den Inhalt.
Anmerkung: Wenn Sie einen String als Wert angeben, wird dieser String als Referenz zu einem globalen Objektpfad im TypoScript-Objektbaum gewertet. Das ist dann die Basis für parseFunc zusammen mit allen Eigenschaften, die Sie hier angeben. Das funktioniert genauso wie Referenzen es für Inhaltselemente tun.

Beispiel:
parseFunc = < lib.parseFunc_RTE
parseFunc.tags.myTag = TEXT
parseFunc.tags.myTag.value = Dieser Text wird eingefügt, wenn &lt;myTag&gt; gefunden wird.

HTMLparser boolean / siehe HTMLparser Dieses Objekt ermöglicht es Ihnen, den HTML-Inhalt zu parsen und alle Arten von weitergehender Bearbeitung daran vorzunehmen.
Der Wert muss gesetzt sein und die Eigenschaften sind die von HTMLparser.
split siehe split
prioriCalc boolean

Die Berechnung von Werten mit den Operatoren +-*/%^ berücksichtigt außerdem die Priorität von + und - sowie Klammerebenen (). Der Punkt (.) dient als Trennzeichen in Dezimalzahlen.
Liefert einen double-Wert zurück.
Wenn .prioriCalcauf intvalgesetzt ist, wird ein integer-Wert zurückgeliefert.

Es gibt keine Fehlerkontrolle und z.B. eine Division durch 0 oder andere ungültige Ausdrücke könnten zu seltsamen Ergebnissen führen. Stellen Sie auch sicher, dass Sie eine angemessene Syntax benutzen, da zukünfige Modifikationen für diese Funktion mehr Operatoren und Features zulassen könnten.

Beispiele:
100%7 = 2
-5*-4 = 20
+6^2 = 36
6 ^(1+1) = 36
-5*-4+6^2-100%7 = 54
-5 * (-4+6) ^ 2 - 100%7 = 98
-5 * ((-4+6) ^ 2) - 100%7 = -22

char int

Der Inhalt wird auf den chr( Wert) gesetzt.

PHP: $content = chr(intval($conf["char"]));

intval boolean

PHP-Funktion intval(). Liefert einen Integer-Wert zurück.

PHP: $content = intval($content);

date date-Konf.

Der Inhalt sollte vom Datentyp UNIX-Zeitsein. Liefert den Inhalt als Datum formatiert zurück.
$content = date($conf["date"],$content);

Beispiel, in dem ein Zeitstempel importiert wird:
.value.field = tstamp
.value.date =

strftime strftime-Konf. Genau wie date. Siehe das PHP-Handbuch (strftime) für die Codes.
Diese Formatierung ist nützlich, wenn im weiteren Verlauf im CONFIG-Objekt die Lokalisierung gesetzt wird.
age boolean oder String

Wenn diese Eigenschaft mit 1 (Zahl, Integer) aktiviert wird, wird der Inhalt als Datum (in UNIX-Zeit) betrachtet und die Differenz zwischen dieser und der aktuellen Zeit wird als eine dieser vier Variationen zurückgeliefert:
xx minoder xx hrsoder xx daysoder xx yrs.
Die Begrenzungen, in denen ein Layout benutzt wird sind 60 Minuten, 24 Stunden, 356 Tage.

ANMERKUNG:
Wenn Sie diese Eigenschaft auf einen nicht-Integer-Wert setzen, wird der Wert benutzt, um die vier Einheiten zu formatieren.
Dies ist der Standardwert:
" min| hrs| days| yrs"

Setzen Sie hier einen anderen String, wenn Sie die Einheiten ändern wollen. Sie können auch die "-Zeichen dabeibehalten, die werden sowieso entfernt.

case case

Konvertiert die Groß- und Kleinschreibung.

Für die Operation wird renderCharset verwendet.

bytes boolean

Wird die Eingabe (ein Integer-Wert) als Bytes formatieren: bytes, kb, mb

Wenn Sie einen Wert für die Eigenschaft labelsangeben, können Sie die Standard-Suffixe ändern. Beschriftungen für Bytes, Kilo, Mega, Giga werden von vertikalen Strichen (|) getrennt und können in Anführungszeichen " eingeschlossen werden, z.B: " | K| M| G"(was übrigens auch der Standardwert ist).

substring [p1],[p2]

Liefert den Teilstring zurück, wobei [p1] und [p2] als zweiter und dritter Parameter für die PHP-Teilstring-Funktion (substr) verwendet werden.

Für die Operation wird renderCharset verwendet.

removeBadHTML boolean Entfernt "schlechten" HTML-Code, basierend auf einem Muster, welches HTML, welches als gefährlich für XSS-Bugs angesehen wird, herausfiltert.
stripHtml boolean Entfernt alle HTML-Tags.
crop

Beschneidet den Inhalt auf eine bestimmte Länge.
Syntax: +/- = von links / von rechts | [String] [boolean: ganze Wörter beibehalten.]

Beispiele:
20|...= höchstens 20 Zeichen. Bei mehr Zeichen wird der String auf die ersten20 Zeichen abgeschnitten und es wird ...angehängt.
-20|...= höchstens 20 Zeichen. Bei mehr Zeichen wird der String auf die letzten20 Zeichen zurechtgeschnitten und es wird ...vorangestellt.
20|...|1= höchstens 20 Zeichen. Bei mehr zeichen wird der String auf die ersten 20 Zeichen zurechtgeschnitten und es wird ... angehängt. Wenn die Trennung in der Mitte eines Wortes erfolgt, werden die Überreste dieses Wortes auch entfernt.

Für die Operation wird renderCharset verwendet.

rawUrlEncode boolean Leitet den Inhalt durch die rawurlencode()-PHP-Funktion.
htmlSpecialChars boolean Leitet den Inhalt durch die htmlspecialchars()-PHP-Funktion.
Die zusätzliche Eigenschaft .preserveEntitieswird Zeichen aus HTML-Sondercodes (wie z.B. &amp;) erhalten.
doubleBrTag string Alle Doppelzeilenumbrüche werden mit diesem Wert ersetzt.
br boolean PHP-Funktion nl2br(); Konvertiert Zeilenumbrüche in <br />-Tags.
brTag string Alle Zeichen mit dem ASCII-Code 10(Wagenrücklauf) werden mit diesem Wert ersetzt.
encapsLines siehe encapsLines Teilt den Inhalt nach chr(10) auf und bearbeitet jede Zeile unabhängig. Wird benutzt, um mit dem RTE erzeugen Inhalt zu formatieren.
keywords boolean Teilt den Inhalt nach den Zeichen ",", ";" und chr(10) (Zeilenumbruch) auf, entfernt Leerzeichen am Anfang und am Ende und liefert eine kommaseparierte Liste der Werte zurück.
innerWrap wrap / stdWrap
innerWrap2 wrap / stdWrap
fontTag wrap
addParams siehe addParams Ermöglicht es Ihnen, dem Inhalt Tag-Parameter hinzuzufügen, wennder Inhalt auch ein Tag ist.
textStyle siehe textStyle Umschließt den Inhalt mit <font>-Tags.
tableStyle siehe tableStyle Umschließt den Inhalt mit <table>-Tags.
filelink siehe filelink Wird benutzt, um Listen von Links zu Dateien zu erzeugen.
preCObject cObject Inhaltsobjekt, welches dem Inhalt vorangeht.
postCObject cObject Inhaltsobjekt, welches dem Inhalt folgt.
wrapAlign align / stdWrap Umschließt den Inhalt mit <DIV align=" [Wert] "> | </DIV>, wenn dieser Wert gesetzt ist.
typolink siehe typolink Umschließt den Inhalt mit einem Link-Tag.
spaceBefore int/ stdWrap Vorangehender Abstand in Pixeln. Wird mit einem clear-gif erledigt; <IMG ...><BR />
spaceAfter int/ stdWrap Abschließender Abstand in Pixeln. Wird mit einem clear-gif erledigt; <IMG ...><BR />
space space

[spaceBefore] | [spaceAfter]

Zusätzliche Eigenschaft:
.useDiv=1
Wenn diese Eigenschaft gesetzt ist, wird anstelle eines clear-gifs lieber ein <DIV>-Tag benutzt, in dem die Höhe im style-Attribut angegeben wird.

wrap wrap/ +.splitChar .splitChardefiniert ein anderes Zeichen, nach dem aufgeteilt werden soll (Standardwert ist der vertikale Strich | ).
noTrimWrap "Besonderer" wrap

Im untenstehenden Beispiel umschließt noTrimWrap den Inhalt mit den Werten val1und val2- einschließlich den umgebenden Leerzeichen! Beachten Sie, dass diese Art Wrap ein weiteres | am Anfang und am Ende benötigt.

Beispiel:
| val1 | val2 |

wrap2 wrap/ +.splitChar Siehe wrap.
dataWrap

Wenn der Inhalt geparst wird und er {...}-Bereiche enthält, deren Inhalt vom Typ getText ist, dann werden diese mit den Ergebnis von getText ersetzt.

Beispiel:
Dies sollte in einem <FONT>-Tag resultieren, bei den die Schriftgröße von der globalen Variable sizeentschieden wird:
<font size="{global : size}"> | </font>

prepend cObject Inhaltsobjekt, welches dem Inhalt vorrausgeht.
append cObject Inhaltsobjekt, welches dem Inhalt folgt.
wrap3 wrap/ +.splitChar Siehe wrap.
outerWrap wrap/ stdWrap
insertData boolean Wenn diese Eigenschaft gesetzt ist, wird der gesamte Inhalt so wie bei dataWrap geparst.
offsetWrap x,y Dies Umschließt die Eingabe mit einer Tabelle mit Spalten links und oben, die den Inhalt um die durch diese Eigenschaft angegebenen Maße verschieben. Basiert auf dem Inhaltsobject OTABLE.
postUserFunc Funktionsname

Ruft eine PHP-Methode in einer Klasse auf, an die der Inhalt als erster Parameter und alle weiteren Eigenschaften als zweiter Parameter übergeben werden. Siehe die Beschreibung des Inhaltsobjektes USER für weiterführende Informationen.

Beispiel:
Sie können dieses Beispiel direkt in ein neues Template einfügen.

page = PAGE 
page.typeNum = 0
includeLibs.irgendwas =
media/scripts/example_callfunction.php

page.10 = TEXT
page.10 {
value = Hallo Welt!
postUserFunc = user_reverseString
postUserFunc.uppercase = 1
}

page.20 = TEXT
page.20 {
value = Hallo Welt!
postUserFunc =
user_various->reverseString
postUserFunc.uppercase = 1
postUserFunc.typolink = 11
}

postUserFuncInt

Ruft eine PHP-Methode in einer Klasse auf, an die der Inhalt als erster Parameter und alle weiteren Eigenschaften als zweiter Parameter übergeben werden. Das Ergebnis wird nicht im Cache gespeichert. Siehe die Beschreibung des Inhaltsobjektes USER_INT für weiterführende Informationen.

Ermöglicht von Jens Ellerbrock.

prefixComment string

Stellt dem Inhalt einen HTML-Kommentar mit dem zweiten Teil des Eingabestring (durch | getrennt) voran. Der erste Teil ist ein Integer, der angibt, wie viele Tabulatoren eingerückt werden soll, bevor eine neue Zeile begonnen wird.
Der Inhalt wird durch insertData geparst.

Beispiel:
prefixComment = 2|INHALTSELEMENT, uid:{field:uid}/{field:CType}

Rückt den Kommentar mit einem Tab ein (und die nächste Zeile mit 2+1 Tabs). Hinzugefügt in TYPO3>3.6.0RC1.

editIcons string

Wenn diese Eigenschaft nicht leer ist, wird ein Icon eingefügt, welches auf typo3/alt_doc.php verlinkt, um ein Bearbeitungsformular für Backendbenutzer zu erzeugen.
Der Wert dieser Eigenschaft ist eine Liste von Feldern einer Tabelle, die bearbeitet werden können sollen. Es wird davon ausgegangen, dass der aktuelle Datensatz des Inhaltsobjektes derjenige ist, der bearbeitet wird.
Syntax: Optionaler Tabellenname:Kommaliste mit Feldnamen[Liste mit Palettenfeldern, durch | getrennt]

.beforeLastTag(1,0,-1): Wenn gesetzt (1), wird das Icon vor dem letzten HTML-Tag in den Inhalt eingefügt. Bei einem Wert von -1 wird das Icon vor den Inhalt eingefügt. Bei 0 wird das Icon nach den Inhalt eingefügt.

.styleAttribute(string): Fügt dem Icon-Bild ein style-Attribut mit diesem Wert zu. Zum Beispiel können Sie position:absoluteeinstellen, wenn Sie eine nicht-invasive Darstellung der Icons bevorzugen. Anmerkung: Alle Bearbeitungsicons haben die Klasse frontEndEditIcons, die Sie über das Stylesheet der Seite ansprechen können.

.iconTitle(string): Das title-Attribut für das Bild.

.iconImg(HTML): Alternativer HTML-Code, der anstelle des Standard-Icons angezeigt wird. Kann benutzt werden, um ein anderes Icon zum Bearbeiten einzurichten.

Beispiel:
Dies wird ein Bearbeitungssymbol einfügen, welches auf ein Formular verlinkt, in dem die header- und bodytext-Felder bearbeitet werden können (Vorrausgesetzt, der derzeitige Benutzer hat die Berechtigung dazu).
editIcons = tt_content : header, bodytext

Diese Zeile platziert die header_align- und date-Felder auf einer "Palette", was bedeutet, dass sie in einer einzelnen Zeile unter dem header-Feld dargestellt werden. Das spart etwas Platz.
editIcons = header[header_align|date], bodytext

editPanel boolean / editPanel Siehe EDITPANEL.
debug boolean Gibt den Inhalt mit HTMLSpecialChars()und <PRE></PRE>aus: Nützlich, falls Sie herausfinden wollen, mit welchem Wert stdWrap schließlich endet, wenn Sie eine Website mit TypoScript aufbauen.
Sollte nur während der Entwicklung benutzt werden.
debugFunc boolean Gibt den Inhalt mit der debug()-Funktion direkt an den Browser aus. Sollte nur während der Entwicklung benutzt werden.
Ist dieser Wert auf 2 gesetzt, wird der Inhalt in einer Tabelle ausgegeben - sieht schöner aus.
debugData boolean Gibt den aktuellen Daten-Array $cObj->datadirekt an den Browser aus. Hier erhält .field seine Daten her.
Sollte nur während der Entwicklung benutzt werden.