Zum Inhalt springen

Extension benutzen

Erstellt am 2. März 2006 · 1 Antwort · letzte Antwort am 7. März 2006

Tags: Frage

Mopps ·

ich habe folgende Extension (Just include library) installiert:

<?php
require_once(PATH_tslib.'class.tslib_pibase.php');

class tx_txstyleswitcher_pi1 extends tslib_pibase {
	var $prefixId = 'tx_txstyleswitcher_pi1';		// Same as class name
	var $scriptRelPath = 'pi1/class.tx_txstyleswitcher_pi1.php';	// Path to this script relative to the extension dir.
	var $extKey = 'tx_styleswitcher';	// The extension key.
	// var $pi_checkCHash = TRUE;
	
	var $conf;

        /***** [Put your description here]      ******/
        function main($content,$conf)   {
                $this->conf=$conf;
                $this->pi_setPiVarDefaults();
                $this->pi_loadLL();
                // $this->pi_USER_INT_obj=1;

        /***** Abfrage der Cookies      *****/

            $style = t3lib_div::GPvar("S");
            $cookieName = "my_style";

            /** Cookie  **/
            if (!isset($GLOBALS["HTTP_COOKIE_VARS"][$cookieName])) {
                if ($style) {
                        $GLOBALS["TSFE"]->set_no_cache();
                        // set a cookie
                        setcookie($cookieName,$style,time()+(3600*24*300));
                }
            } else {
                $GLOBALS["TSFE"]->set_no_cache();
                $style = $GLOBALS["HTTP_COOKIE_VARS"][$cookieName];
            }
}



if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/tx_styleswitcher/pi1/class.tx_txstyleswitcher_pi1.php'])	{
	include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/tx_styleswitcher/pi1/class.tx_txstyleswitcher_pi1.php']);
}

?>

außerdem habe ich im Setup:

config.linkVars = S
page.stylesheet = fileadmin/template/main/standard.css
[globalVar = GP:S = standard]
  page.stylesheet = fileadmin/template/main/standard.css
[global]
[globalVar = GP:S = kontrast]
  page.stylesheet = fileadmin/template/main/kontrast.css
[global]

funktioniert das so überhaupt? Ich hab das Gefühl ich versteh da noch gar nichts. Wie spreche ich jetzt das ganze mit einem Link an? also Links:
--> Kontrast
--> Standard

Stephan

FordPrefect ·

Hi,

also, deine Klasse setzt einen Cookie mit dem entsprechend gewählten Style. Hat somit erstmal wenig mit dem Stylechanging zu tun.

So, in deinem TS erstellst du 2 Links (arbeitest du mit TemplaVoila?).

lib.switchA = TEXT
#lib.switchA.typolink.returnLast = url
lib.switchA.typolink.parameter.data = page: uid
lib.switchA.typolink.additionalParams = &S=standard

lib.switchB = TEXT
#lib.switchB.typolink.returnLast = url
lib.switchB.typolink.parameter.data = page: uid
lib.switchB.typolink.additionalParams = &S=kontrast

Deine Extension soll ja wohl bei einem wiederkehrenden Besucher automatisch die letzte Einstellung laden, richtig? Hierzu musst du die Extension dann aber noch mit einer header()-WEiterleitung erweitern.

Gruss

Ford

Diese musst du dann in dein Template einbauen.