globalString

Syntax

[globalString= var1=Wert, var2= *Wert2, var3= *Wert3*, ...]

Vergleich

Dies ist ein direkter Vergleich globaler Strings.

Sie haben die Möglichkeit, am Anfang oder am Ende des Strings ein * als Platzhalter zu platzieren.

Beispiele

Wenn HTTP_HOST gleich www.typo3.com ist, wird diese Bedingung zutreffen

[globalString = HTTP_HOST=www.typo3.com]

Auch diese Bedingung wird zutreffen

[globalString = HTTP_HOST= *typo3.com]

allerdings wird diese Bedingung auch auf einen HTTP_HOST wie demo.typo3.com zutreffen.

Wichtige Anmerkung zu globalVar und globalString

Sie können auf Werte aus globalen Arrays zugreifen, indem Sie den Variablennamen mit einem | (vertikale Linie) trennen.

Auf die globale Variable $HTTP_POST_VARS["key"]["levels"] würde zum Beispiel mit HTTP_POST_VARS|key|levels zugegriffen.

Beachten Sie auch, dass empfohlen wird, Ihre Skripts konform zu den Einstellungen der php.ini-optimized zu programmieren. Siehe diese Datei (aus Ihrer Distribution) für weitere Details.

Das würde bedeuten, dass Sie Werte wie HTTP_POST mithilfe von getenv() und GET/POST-Werte mithilfe von t3lib::GPvar() einholen. Letztendlich sind auch viele Werte aus dem TSFE-Objekt nützlich. Um diese Werte für einen Vergleich in einer globalVar- oder globalString-Bedingung heranzuziehen, stellen Sie dem Variablennamen jeweils entweder "IENV"/"ENV", "GP", "TSFE" oder "LIT". Das Trennzeichen | kann immer noch benutzt werden, um Schlüssel von Arrays zu trennen. "LIT" steht für literal und der String nach dem ":" wird von dem entsprechenden Wert ersetzt (ohne durch | getrennt zu werden o. ä.)

Anmerkung: Es wird sehr empfohlen, zum Heranholen Systemunabhängiger Server-/ oder Umgebungsvariablen das IENV-Präfix zu verwenden. Im Grunde wird dies die Funktion t3lib::getIndpEnv() aufrufen und deren Wert zurückliefern. Mit ENV erhalten Sie die unbearbeitete Rückgabe von getenv(), die NICHT auf allen Systemen gleich ist. IENV wird ab Typo3 3.6 unterstützt.

Beispiele

Diese Bedingung wird auf Seiten mit einer URL wie ...&print=1 zutreffen.

[globalVar = GP:print > 0]

Diese Bedingung wird auf eine remote-address beginnend mit 192.168. zutreffen.

[globalString = IENV:REMOTE_ADDR = 192.168.*]

Diese Bedingung trifft zu, wenn die Seiten-ID größer als 10 ist.

[globalVar = TSFE:id > 10]

Diese Bedingung trifft auf Seiten zu, bei denen das layout-Feld auf "Layout 1" gesetzt ist.

[globalVar = TSFE:page|layout = 1]

Diese Bedingung trifft zu, wenn die Konstante {$konstante_um_irdendwasZuMachen} den Wert 1 hat.

[globalVar = LIT:1 = {$konstante_um_irgendwasZuMachen}]

Kommentare von registrierten Benutzern:

Kommentar von: ossipetz

01. 02. 2008, 14:01
die HTTP_HOST Variante funktioniert bei mir nur so:

[globalString = ENV:HTTP_HOST=*.domain.es]
companyAddress = ES
[ELSE]
companyAddress = CH
[END]

ohne das ENV: trifft die Bedingung nie zu (Typo3 4.1.5).

Profil



Seite drucken
 
TYPO3 Version 4.2.0 testen

TYPO3 Ver. 4.2.0 testen

Testen Sie die neue TYPO3 Version 4.2.0 kostenlos für einen Monat

TYPO3 Bücher

TYPO3 Workshops


TYPO3 Einführungsschulung
in 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 Extensionschulung
in Berlin:
Mo., 14.07. - Mi., 16.07.
in Espelkamp:
Mo., 11.08. - Mi., 13.08.