USER / USER_INT

Dieses Objekt ruft entweder eine PHP-Funktion oder eine Methode in einer Klasse auf. Das ist sehr nützlich, wenn Sie Ihre eigenen Inhalte oder Ihre eigene Datenverarbeitung einbauen möchten.

Im Wesentlichen ist dies ein benutzerdefiniertes Inhaltsobjekt, da es nur ein Aufruf einer Funktion oder Methode unter Ihrer Kontrolle ist.

Wichtig zu wissen ist, dass, wenn Sie eine Methode in einer Klasse (von der natürlich ein Objekt erzeugt wurde) aufrufen, die interne Variable cObj dieser Klasse auf eine Referenz zum übergeordneten cObj gesetzt wird.

Dies ähnelt ein wenig dem PHP_SCRIPT-Konzept, ist allerdings irgendwie sauberer, da es ein Aufruf einer zuvor deklarierten Funktion und nicht das Einbinden einer PHP-Datei ist. So wird es empfohlen.

Wenn Sie dieses Objekt als USER_INT erzeugen, wird es beim Rendern nicht im Cache gespeichert, außerhalb des Haupt-Rendervorgangs der Seite. Siehe PHP_SCRIPT_INT für Details, da dort dasselbe Konzept genutzt wird.

Eigenschaft

Datentyp

Beschreibung

Standard

userFunc

Funktionsname

Der Name der Funktion. Wenn Sie den Namen mit einem "->" angeben, wird er als Methodenaufruf einer Klasse interpretiert.

Es werden zwei Parameter gesendet. Eine Inhaltsvariable (die in diesem Fall zwar leer ist, aber nicht, wenn sie von den stdWrap-Funktionen .postUserFunc und .preUserFunc genutzt wird), und als zweiter Parameter ein Array mit den Eigenschaften dieses Inhaltobjektes, falls vorhanden.

Beispiel:
Dieses TypoScript wird alle Inhaltstitel einer Seite in umgekehrter Reihenfolge darstellen.

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

page.30 = USER
page.30 {
userFunc = user_various->listContentRecordsOnPage
reverseOrder = 1
}

includeLibs

Liste von resource

(Diese Eigenschaft trifft nur zu, wenn das Objekt als USER_INT erzeugt wurde)
Eine durch kommagetrennte Liste von Ressourcen, die (mit der include_once()-Funktion) als PHP-Skript eingebunden werden, wenn dieses Skript eingebunden wird.

Das geht, weil alle einzubindenden Dateien bereits im Vorraus bekannt sind. Das ist im regulären »PHP_SCRIPT-Inhaltsobjekt nicht der Fall.