TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

fe template extension


Autor Nachricht
Verfasst am: 16. 02. 2006 [13:48]
pfannkuchen
Themenersteller
Dabei seit: 08.06.2005
Beiträge: 33
hallo,

möchte eine extension bauen die das aktuelle html template aus einen cookie ausliest, damit jeder benutzer sein liebliengstemplate auswählen kann.beim nächsten start ist es automatisch aktiv.

Leider bekomme ich die globale variable nicht angehängt

hier mein script

PHP
function main($content,$conf)	{
		$this->conf=$conf;
		$this->pi_setPiVarDefaults();
		$this->pi_loadLL();
 
	$cookieName = "my_template"; 
				$wid = $GLOBALS["HTTP_COOKIE_VARS"][$cookieName];
				$default = "standart";
 
                // wmid Abfrage wenn ein Cookie bereits existiert
            if (!isset($GLOBALS["HTTP_COOKIE_VARS"][$cookieName])) {
                       $GLOBALS["TSFE"]->set_no_cache();
                       setcookie($cookieName,$default,time()+(3600*24*30));
	echo "setcookie";
                }
             else {	
						$GLOBALS['TSFE']->linkVars = "T=".$wid ;	
						echo "cookie ".$wid;	
 
            } 
 
		if(strstr($GLOBALS['TSFE']->linkVars, '&T=')) {
 	 			$GLOBALS['TSFE']->linkVars = ereg_replace('&T=[0-9]*' , '', $GLOBALS['TSFE']->linkVars);$GLOBALS['TSFE']->linkVars = "T=".$wid ;
			}
 
 
 
	return $GLOBALS['TSFE']->linkVars = "T=".$wid ;
 
	}
}


wie kann ich typo3 beibringen, immer automatisch "T=".$wid anzuhängen?

thx im voraus[/TYPOSCRIPT]
Profil
Verfasst am: 16. 02. 2006 [14:59]
McGregor
Dabei seit: 05.11.2004
Beiträge: 583
Hi!

Sicher das das überhaupt funktioniert?
Ich habe gelesen, dass setcookie einen Header setzt und diese nur am Anfang des Dokuments gültig sind. Da T3 aber noch einigen anderen Mist aufruft, bevor deine Extension an der Reihe ist, bezweifle ich die Funktionalität.

Grüße
McGregor


Aus : www.php.net

setcookie() definiert ein mit den HTTP Header-Informationen zu übertragendes Cookie. Wie andere Header auch, müssen Cookies vor jeglicher Ausgabe Ihres Skriptes gesendet werden (dies ist eine Einschränkung des Protokolls). Das bedeutet, dass Sie diese Funktione aufrufen müssen, bevor Sie eine Ausgabe, dazu zählen auch <html>- oder <head>-Tags sowie jede Art von Whitespaces, übermitteln. Erfolgt eine Ausgabe vor dem Aufruf dieser Funktion, wird setcookie() fehlschlagen und gibt FALSE zurück. Wenn setcookie() erfolgreich durchgeführt wird, wird TRUE zurückgegeben. Dies sagt jedoch nichts darüber aus, ob der Benutzer das Cookie auch akzeptiert hat.


And when you kill a man you're a murderer
Kill many and you're a conqueror
Kill them all and you're a God
[Dave Mustaine - Megadeth - Countdown to Extinction]
Profil
Verfasst am: 16. 02. 2006 [15:53]
pfannkuchen
Themenersteller
Dabei seit: 08.06.2005
Beiträge: 33
doch es funktioniert ja auch soweit. allerdings leider nur bei dem template wo ein ypmenu drinn ist. liegt wahrscheinlich daran das da das menu erst danach geparst wird!?!

wie kann ich denn generell ein allgemeine variable für alle

alla &T=5 anhängen?

so das die ändung an allen links drann ist?
Typoscript?
Profil
Verfasst am: 16. 02. 2006 [19:58]
steffenk
Moderator
Dabei seit: 22.09.2005
Beiträge: 4839
TYPOSCRIPT
config.linkVars=myvar


ProfilWWW
Verfasst am: 13. 10. 2008 [10:35]
pixeltoy
Dabei seit: 19.09.2008
Beiträge: 17
Hallo Pfannkuchen icon_wink.gif

Gibt es dich noch? Ich habe derzeit genau das Selbe vor und wollte fragen ob du deine Ext. fertiggestellt hast und ob es sie zum Nutzen gibt.

Oder gibt es da Alternativen?

Gruß Pixeltoy
Profil