Zum Inhalt springen

HTTP_HOST einlesen/Probleme mit dem Wrappen

Erstellt am 8. Februar 2007 · 7 Antworten · letzte Antwort am 8. Februar 2007

Tags: Frage

Floater ·

Hallo,

ich habe folgendes TS zwecks ausloggen vom FE-Editing.

## DEFINE LINK FOR LOGGED IN FRONTEND-EDITORS
[globalVar = TSFE : beUserLogin > 0]
lib.logout = TEXT
lib.logout.data = getenv:HTTP_HOST
lib.logout.wrap  =<a href="http://|/typo3/logout.php?redirect=>Logout</a>
[else]
lib.logout = TEXT
lib.logout.value =
[global] 
## END DEFINE LINK FOR LOGGED IN FRONTEND-EDITORS

Dieses TS funktioniert.

Ich möchte aber auch noch das REDIRECT setzen. Und zwar ungefähr so (folgendes funktioniert leider nicht):

lib.logout.wrap  =<a href="http://|/typo3/logout.php?redirect=http://|>Logout</a>

Es sollte dann so aussehen:

<a href="http://www.domain.de/typo3/logout.php?redirect=http://www.domain.de/>Logout</a>

Was muss ich da machen?
Habe schon mit x-verschiedenen WRAPs probiert, aber ich bekomme es nicht hin.

Hat jemand einen Lösungsvorschlag?

Viele Grüße,
Floater

skorpi ·

In dem wrap kannst du den String, den du wrappen willst, nur an einer Stelle "einsetzen".
Wenn du in mehrfach brauchst, dann nimmst du ein COA.

## DEFINE LINK FOR LOGGED IN FRONTEND-EDITORS
[globalVar = TSFE : beUserLogin > 0]
temp.myHost = TEXT
temp.myHost.data = getenv:HTTP_HOST
lib.logout = COA
lib.logout {
  10 < temp.myHost
  10.wrap = =<a href="http://|/typo3/logout.php
  20 < temp.myHost
  20.wrap = ?redirect=|>Logout</a>
}
lib.logout.wrap  =<a href="http://|/typo3/logout.php?redirect=>Logout</a>
[else]
lib.logout = TEXT
lib.logout.value =
[global] 
## END DEFINE LINK FOR LOGGED IN FRONTEND-EDITORS

Was du letztlich in 10.. und 20... tust, is wurscht.
Mich würde noch interessieren, in welchem Zusammenhang du diese Funktion nutzt, also, ob es einen bestimmten Grund dafür gibt...

Floater ·

Danke für Deine Hilfe.

Das Skript ist dafür da, um beim FE-Editing einen LOGOUT-Link für im BE eingeloggte User anzuzeigen.
Es wäre ja unkonfortabel, wenn der User erst wieder das BE aufrufen müsste um sich auszuloggen.

Den HTTP-HOST möchte ich als Variable in dem TS haben, da ich ihn ganz einfach nicht festcodiert drinstehen haben möchte.

So bleibt dieses TS flexibler und allgemein verwendbar für andere Typo3-Projekte. Und es könnte ja mal sein, dass die Webseite auf eine andere Domain umzieht.
Da muss dann nicht überall die neue Domain eingefügt werden.

Viele Grüße,
Floater

Floater ·

Habe inzwischen auch folgendes rausgefunden.
Je nachdem, ob man das redirect leer lässt oder einen slash dort setzt gelangt man entweder nach dem Logout ins BE-Login oder zur Startseite.

Hier mal das kommentierte TS dazu:

## DEFINE LINK FOR LOGGED IN FRONTEND-EDITORS
	[globalVar = TSFE : beUserLogin > 0]
		lib.logout = TEXT
		# GET HTTP_POST
			lib.logout.data = getenv:HTTP_HOST
			
		#lib.logout.field = uid
		
		## REDIRECT AFTER LOGOUT TO BACKEND LOGIN
			#lib.logout.wrap  =<a href="http://|/typo3/logout.php?redirect=">Logout</a>
			
		## REDIRECT AFTER LOGOUT TO FRONTEND
			lib.logout.wrap  =<a href="http://|/typo3/logout.php?redirect=/">Logout</a>
			
	[else]
		lib.logout = TEXT
		lib.logout.value =
		#lib.logout.field = uid
	[global] 
## END DEFINE LINK FOR LOGGED IN FRONTEND-EDITORS
Floater ·

Mit folgendem TS:

## DEFINE LINK FOR LOGGED IN FRONTEND-EDITORS
[globalVar = TSFE : beUserLogin > 0]
temp.myHost = TEXT
temp.myHost.data = getenv:HTTP_HOST
lib.logout = COA
lib.logout {
  10 < temp.myHost
  10.wrap = <a href="http://|/typo3/logout.php
  20 < temp.myHost
  20.wrap = ?redirect=|>Logout</a>
}
[else]
lib.logout = TEXT
lib.logout.value =
[global]
## END DEFINE LINK FOR LOGGED IN FRONTEND-EDITORS

habe ich nur flgendes bekommen:

<a href="http://www.domain.de/typo3/logout.php?redirect">Logout</a>

Irgendwas funktioniert da noch nicht...

skorpi ·

Probier mal, das ?redirect... in die 10 mit rein zu nehmen. Und es fehlt auch noch ein schließendes ".

Floater ·

ok, danke für deine hilfe.
es funzt jetzt.

hier noch einmal das funktionierende TypoScript:

## DEFINE LINK FOR LOGGED IN FRONTEND-EDITORS
[globalVar = TSFE : beUserLogin > 0]
temp.myHost = TEXT
temp.myHost.data = getenv:HTTP_HOST
lib.logout = COA
lib.logout {
  10 < temp.myHost
  10.wrap = <a href="http://|/typo3/logout.php?redirect=
  20 < temp.myHost
  20.wrap =  http://|">Logout</a>
}

[else]
lib.logout = TEXT
lib.logout.value =
[global]
## END DEFINE LINK FOR LOGGED IN FRONTEND-EDITORS