stdWrap
Diese Funktion wird häufig als Eigenschaft zu Werten in TypoScript hinzugefügt.
Ein Beispiel am Inhaltsobjekt »HTML:
10 = HTML 10.value = Irgendein Text 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:
10 = HTML 10.value = Irgendein Text 10.value.case = upper 10.value.field = header
Die Zeile 10.value = Irgendein Text ist jetzt völlig überflüssig, da der gesamte Wert aus dem Feld namens header aus dem $cObj->data-Array importiert wird.
Eigenschaft | Datentyp | Beschreibung | Standard |
Daten einholen: | |||
boolean | Setzt den aktuellen Wert auf den eingehenden Inhalt dieser Funktion. | ||
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. | ||
Array von Sprachschlüsseln | Diese Eigenschaft wird benutzt, um optionale sprachspezifische Werte zu definieren. Beispiel: Dieser Code wird "Ich bin..." anstelle von "I am..." ausgeben. | ||
getText | |||
Feldname | Setzt den Inhalt auf $cObj->data[field]. Beispiel: $cObj->data verändert sich. Siehe die Beschreibung für den Datentyp getText. | ||
boolean | Setzt den Inhalt auf den current-Wert (siehe »split). | ||
cObject | Lädt den Inhalt aus einem Inhaltsobjekt. | ||
Liefert die Anzahl der von der Abfrage zurückgelieferten Zeilen. | |||
dir / stdWrap | Liest ein Verzeichnis aus und liefert eine Dateiliste zurück. | ||
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 | |||
string / stdWrap | Wenn override etwas anderes als "" oder null zurückliefert, wird dieser Wert zum Inhalt. | ||
(wie »listNum) | (wie »listNum) | ||
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. | ||
int + calc + last | Zerlegt den Inhalt nach "," (Komma) und der Inhalt wird auf das Element [Wert] gesetzt. Sonder-Schlüsselwort: Eigenschaften: Standardwert = , (Komma) Beispiele: | ||
PHP-Funktion trim(); Entfernt Leerzeichen vor und nach dem Wert. | |||
boolean | Wenn diese Eigenschaft gesetzt ist, muss der Inhalt nach allem Importieren von Inhalten und Prozeduren, die bis jetzt stattgefunden haben (»data, »field, »current, »listNum, »trim) einen Wert haben. Nullen werden NICHT als leerer Wert angesehen. Benutzen Sie stattdessen »if. | ||
Wenn das if-Objekt falsch zurückliefert, liefert stdWrap sofort "" zurück. | |||
Feldname | Der Wert in diesem Feld MUSS gesetzt sein. | ||
Parsing-Daten | |||
string | Konvertiert die Zeichenkodierung des Inhaltes von der durch csConv angegebenen Kodierung zu der des Frontends (durch »renderCharset angegeben). | ||
Objektpfad- | Verarbeitungsanweisungen für den Inhalt. Beispiel: | ||
boolean / »HTMLparser | Dieses Objekt ermöglicht es Ihnen, den HTML-Inhalt zu parsen und alle Arten von weitergehender Bearbeitung daran vorzunehmen. | ||
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. 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: | ||
int | Der Inhalt wird auf den chr(Wert) gesetzt. PHP: $content = chr(intval($conf["char"])); | ||
boolean | PHP-Funktion intval(). Liefert einen Integer-Wert zurück. PHP: $content = intval($content); | ||
date-Konf. | Der Inhalt sollte vom Datentyp UNIX-Zeit sein. Liefert den Inhalt als Datum formatiert zurück. Beispiel, in dem ein Zeitstempel importiert wird: | ||
strftime-Konf. | Genau wie »date. Siehe das PHP-Handbuch (»strftime) für die Codes. | ||
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: ANMERKUNG: Setzen Sie hier einen anderen String, wenn Sie die Einheiten ändern wollen. Sie können auch die "-Zeichen dabeibehalten, die werden sowieso entfernt. | ||
case | Konvertiert die Groß- und Kleinschreibung. Für die Operation wird »renderCharset verwendet. | ||
boolean | Wird die Eingabe (ein Integer-Wert) als Bytes formatieren: bytes, kb, mb Wenn Sie einen Wert für die Eigenschaft labels angeben, 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). | ||
[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. | ||
boolean | Entfernt "schlechten" HTML-Code, basierend auf einem Muster, welches HTML, welches als gefährlich für XSS-Bugs angesehen wird, herausfiltert. | ||
boolean | Entfernt alle HTML-Tags. | ||
Beschneidet den Inhalt auf eine bestimmte Länge. Beispiele: Für die Operation wird »renderCharset verwendet. | |||
boolean | Leitet den Inhalt durch die »rawurlencode()-PHP-Funktion. | ||
boolean | Leitet den Inhalt durch die »htmlspecialchars()-PHP-Funktion. | ||
string | Alle Doppelzeilenumbrüche werden mit diesem Wert ersetzt. | ||
boolean | PHP-Funktion »nl2br(); Konvertiert Zeilenumbrüche in <br />-Tags. | ||
string | Alle Zeichen mit dem ASCII-Code 10 (Wagenrücklauf) werden mit diesem Wert ersetzt. | ||
Teilt den Inhalt nach chr(10) auf und bearbeitet jede Zeile unabhängig. Wird benutzt, um mit dem RTE erzeugen Inhalt zu formatieren. | |||
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. | ||
wrap / stdWrap | |||
wrap / stdWrap | |||
wrap | |||
Ermöglicht es Ihnen, dem Inhalt Tag-Parameter hinzuzufügen, wenn der Inhalt auch ein Tag ist. | |||
Umschließt den Inhalt mit <font>-Tags. | |||
Umschließt den Inhalt mit <table>-Tags. | |||
Wird benutzt, um Listen von Links zu Dateien zu erzeugen. | |||
cObject | Inhaltsobjekt, welches dem Inhalt vorangeht. | ||
cObject | Inhaltsobjekt, welches dem Inhalt folgt. | ||
align / stdWrap | Umschließt den Inhalt mit <DIV align="[Wert]"> | </DIV>, wenn dieser Wert gesetzt ist. | ||
Umschließt den Inhalt mit einem Link-Tag. | |||
int / stdWrap | Vorangehender Abstand in Pixeln. Wird mit einem clear-gif erledigt; <IMG ...><BR /> | ||
int / stdWrap | Abschließender Abstand in Pixeln. Wird mit einem clear-gif erledigt; <IMG ...><BR /> | ||
space | [»spaceBefore] | [»spaceAfter] Zusätzliche Eigenschaft: | ||
wrap / +.splitChar | .splitChar definiert ein anderes Zeichen, nach dem aufgeteilt werden soll (Standardwert ist der vertikale Strich | ). | ||
"Besonderer" wrap | Im untenstehenden Beispiel umschließt noTrimWrap den Inhalt mit den Werten val1 und val2 - einschließlich den umgebenden Leerzeichen! Beachten Sie, dass diese Art Wrap ein weiteres | am Anfang und am Ende benötigt. Beispiel: | ||
wrap / +.splitChar | Siehe »wrap. | ||
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: | |||
cObject | Inhaltsobjekt, welches dem Inhalt vorrausgeht. | ||
cObject | Inhaltsobjekt, welches dem Inhalt folgt. | ||
wrap / +.splitChar | Siehe »wrap. | ||
wrap / stdWrap | |||
boolean | Wenn diese Eigenschaft gesetzt ist, wird der gesamte Inhalt so wie bei »dataWrap geparst. | ||
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. | ||
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: page = PAGE | ||
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. | |||
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. Beispiel: Rückt den Kommentar mit einem Tab ein (und die nächste Zeile mit 2+1 Tabs). Hinzugefügt in TYPO3>3.6.0RC1. | ||
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. .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:absolute einstellen, 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: 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. | ||
boolean / editPanel | Siehe »EDITPANEL. | ||
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. | ||
boolean | Gibt den Inhalt mit der debug()-Funktion direkt an den Browser aus. Sollte nur während der Entwicklung benutzt werden. | ||
boolean | Gibt den aktuellen Daten-Array $cObj->data direkt an den Browser aus. Hier erhält ».field seine Daten her. | ||
Kommentare von registrierten Benutzern:
| Autor | Nachricht |
|---|---|
|
Verfasst am: Mittwoch, 05-01-11 21:53
|
|
|
Gelöschter Benutzer
|
Zum override eines wrap geht z.B. mit outerWrap! Damit lassen sich zB. zwei unterschiedliche Links darstellen: NO { ... stdWrap.outerWrap = | stdWrap.outerWrap.override.if.isTrue.field = nav_hide stdWrap.outerWrap.override = | ... } |
|
Verfasst am: Freitag, 10-12-10 10:28
|
|
|
Gelöschter Benutzer
|
Auch praktisch um in PHP (zum Beispiel einer Extension, einem Plugin) Text entsprechend zu kürzen: $this->cObj->stdWrap($content, $configuration); $this->cObj->stdWrap($content, $array('crop' => '90| ...|1')); Entsprechend können natürlich auch alle anderen Konfigurationsmöglichkeiten genutzt werden. Nötig ist lediglich ein cObj, welches die entsprechende Methode besitzt. |
|
Verfasst am: Donnerstag, 05-07-07 09:46
|
|
|
Michael
Dabei seit: 08. 04. 2007
Beiträge: 10
|
Die Beschreibung für den Datentyp "getText" ist aktuell nur in der englischen TSref zu finden: http://typo3.org/documentation/document-library/references/doc_core_tsref/4.1.0/view/2/2/ |
|
Verfasst am: Sonntag, 24-06-07 12:55
|
|
|
Michael
Dabei seit: 08. 04. 2007
Beiträge: 10
|
Die stdWrap-Funktion befindet sich nicht (mehr?) in der content.php unter dem oben beschriebenen Pfad sondern unter: typo3/sysext/cms/tslib/class.tslib_content.php (vgl. englische TS-Referenz) |
|
Verfasst am: Sonntag, 15-01-06 12:37
|
|
|
Norman2k
Dabei seit: 01. 09. 2004
Beiträge: 880
|
Hier ein Beispiel für "ifEmpty", d.h. wenn z.B. in der linken Spalte kein Inhalt vorhanden ist wird der linke Inhalt von der Seite mit der PID 2 angezeigt. TYPOSCRIPT page.10.marks.LEFT = CONTENT page.10.marks.LEFT < styles.content.getLeft page.10.marks.LEFT { stdWrap.ifEmpty.cObject = CONTENT stdWrap.ifEmpty.cObject { table = tt_content select { pidInList = 2 orderBy = sorting where = colPos = 1 languageField = sys_language_uid } } } Ausführliche Schreibweise, selber Effekt: TYPOSCRIPT page.10.marks.LEFT = CONTENT page.10.marks.LEFT.table = tt_content page.10.marks.LEFT.select.orderBy = sorting page.10.marks.LEFT.select.where = colPos = 1 page.10.marks.LEFT.select.languageField = sys_language_uid page.10.marks.LEFT.stdWrap.ifEmpty.cObject = CONTENT page.10.marks.LEFT.stdWrap.ifEmpty.cObject.table = tt_content page.10.marks.LEFT.stdWrap.ifEmpty.cObject.select.pidInList = 2 page.10.marks.LEFT.stdWrap.ifEmpty.cObject.select.orderBy = sorting page.10.marks.LEFT.stdWrap.ifEmpty.cObject.select.where = colPos = 1 page.10.marks.LEFT.stdWrap.ifEmpty.cObject.select.languageField = sys_language_uid |
|
Verfasst am: Montag, 19-12-05 15:08
|
|
|
Jo
Dabei seit: 01. 05. 2003
Beiträge: 13
|
Hier noch mal die korrekte Ausgabe: Output of Element 20: page "My Test Page" has the uid: "{page:uid}" and is subpage of "{page:pid}" Output of Element 30: page "My Test Page" has the uid "81" and is subpage of "{page:pid}" Output of Element 40: page "My Test Page" has the uid "81" and is subpage of "4" |
|
Verfasst am: Montag, 19-12-05 11:35
|
|
|
Jo
Dabei seit: 01. 05. 2003
Beiträge: 13
|
Beispiel zur Verwendung von value, data, wrap, dataWrap, insertData TYPOSCRIPT 20 = TEXT 20 { value = has the uid: "{page:uid}" wrap = <i> | </i> and is subpage of "{page:pid}"<hr> dataWrap = page "{page:title}" <b> | </b> } 30 = TEXT 30 { data = page:uid wrap = has the uid <i>" | "</i> and is subpage of "{page:pid}"<hr> dataWrap = page "{page:title}" <b> | </b> } 40 = TEXT 40 { value = has the uid "{page:uid}" wrap = <i> | </i> and is subpage of "{page:pid}"<hr> insertData = 1 dataWrap = page "{page:title}" <b> | </b> } Output of Element 20: page "My Test Page" has the uid: "{page:uid}" and is subpage of Output of Element 30: "{page:pid}"page "My Test Page" has the uid "81" and is subpage of Output of Element 40: "{page:pid}"page "My Test Page" has the uid "81" and is subpage of "4" |



