![]() |
| | LinkBack | Themen-Optionen | Thema bewerten | Ansicht |
|
#11
| |||
| |||
| Die Lösungen sind natürlich nicht so gut für die Suchmaschinen.... weil du mit 3 Styles und der css variable die du als Linkvar immer weiter gibst deine Seite 3 mal in den google index legst. Ich bevorzuge da eher diese Lösung: Sacred2 - SACRED2 FALLEN ANGEL Unter dem Menü ist der Switcher... Der zwar immer auf die Startseite links, das Design aber in einer Session gespeichert wird und nicht weiterhin am Link hängt. Beste Grüße, Tim |
|
#12
| |||
| |||
| Danke, Kurt, für Deine Tipps! Wobei Tims Einwand auch einleuchtet. Werd' wohl auch ne Lösung in dieser Richtung anpeilen. Gruss, Martino |
|
#13
| ||||
| ||||
| Würde ich ja auch gerne machen, wenn der Tim uns mal erzählen würde, wie das geht mit der Session. Ich wollte das ursprünglich ja auch nicht unbedingt mit einer "LinkVar" machen, es konnte mit aber niemand sagen, wie man, eben session-bedingt, pro Besucher eine Variable speichern kann außer über Cookie und DAS wollte ich nicht. |
|
#14
| |||
| |||
| Zitat:
Armin
__________________ Nichts kommt von selbst, sogar eine Dummheit muss man erst machen. Tipps und Tricks zu TYPO3: http://typo3.intervation.de |
|
#15
| |||
| |||
| Mit diesem Code habe ich das gemacht! In TYPO3 einfach laden und user_isStyle($identifier) kann als condition genommen werden damit man dann auch den Menüs oder generierte Grafiken richtig anpassen kann. <?php /** * StyleSwitcher Klasse zum implimentieren in TYPO3 * * @author Tim Lochmüller * @copyright Tim Lochmüller * @since 2007 * @version 0.1 * */ class MyStyleSwitcher { /** * The Value of the Default Theme * * @var String */ var $defaultTheme = 'default'; /** * The Name of the Session where the Style is storaged * * @var unknown_type */ var $storename = 'WebseiteStyle'; /** * Based on 'SESSION' or 'COOKIE' * * @var unknown_type */ var $storetype = 'COOKIE'; var $lastSet = false; /** * TYPO3 Funktion to check the status of the Theme * * @return true or false */ function isStyle($identifier){ if($this->lastSet){ if($this->lastSet == $identifier) return true; return false; } // if if($this->storetype == 'SESSION') { session_start(); global $_SESSION; if(!isset($_SESSION[$this->storename])) $this->setStyle($this->defaultTheme); if($_SESSION[$this->storename] == $identifier) return true; return false; } else { if(!isset($_COOKIE[$this->storename])) $this->setStyle($this->defaultTheme); if($_COOKIE[$this->storename] == $identifier) return true; return false; } // if } // function - isStyle /** * Set the Style to another value * * @param String $identifier */ function setStyle($identifier){ if($this->storetype == 'SESSION') { session_start(); global $_SESSION; $_SESSION[$this->storename] = $identifier; } else { setcookie($this->storename, $identifier, time()+60*60*24*30, '/'); } // if $this->lastSet = $identifier; } // function - setStyle } // class - StyleSwitcher // Start $myStyle = new MyStyleSwitcher(); $myStyle->sessionname = 'myStyle'; $myStyle->defaultTheme = 'theme-a'; if(isset($_GET['setStyle'])) $myStyle->setStyle($_GET['setStyle']); function user_isStyle($identifier) { global $myStyle; return $myStyle->isStyle($identifier); } ?> |
|
#16
| ||||
| ||||
| Lieber Tim, ich muss doch auf meiner Seite irgendwo den Schalter zum umswitchen montieren: z.B.: Stil1 ... Stil2 ... Stil3 und entsprechend im Typo3 ja dann die CSS-Files laden. Wenn ich nun Dein Script oben einbinde und in TScript dann die Variable "user_isStyle($identifier)" als Condition abfrage (wie sieht diese Abfrage genau aus, bitte?), dann weiß ich leider nicht, wie ich die Links hinter "Stil1 ... Stil2 ... Stil3" mit dem Script verbinde!? |
|
#17
| |||
| |||
| da wird ja der Theme abgelegt: $_GET['setStyle'] also index.php?id=xy&setStyle=test1 mittels include Libs lädst du die PHP in TS Und die Condition findest du in der TSref unter userFunc condition. Beste Grüße, Tim |
|
#18
| ||||
| ||||
| Zitat:
ja, das habe ich so gemacht. Die Prozedur wird beim Laden auch aufgerufen! Das sieht dann genau so aus: "index.php?id=31&setStyle=blau" TSRef habe ich gelesen und die Condition dort heraus geholt: [userFunc = user_isStyle(blau)] funktioniert aber nicht!?!?!? Das System müsste doch nach: Typoscript-Code: )umschalten, oder!? |
|
#19
| |||
| |||
| das mit der GP var CSS check ich nicht... wofür ist das denn da? Und wenn in beiden Conditions das selbe steht (die erte zeile, je) dann schreibt man sowas eigentlich immer vor ein if konstrukt. Beste Grüße, Tim |
|
#20
| ||||
| ||||
| Zitat:
vergiss das mit dem css, das ist die alte Version, ich habe zum Testen nur die zweite Bedingung mit OR angefügt. Also zu Deinem besseren Verständnis: PHP-Code: Geändert von Kurt51 (19.10.07 um 10:58 Uhr). |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | Thema bewerten |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| SESSION-Variablen setzen und abrufen | xjebediahx | TYPO3 4.x Fragen und Probleme | 0 | 22.01.08 11:41 |
| Anzahl Datensaetze mit Typoscript abfragen? | sissi | TYPO3 3.x Fragen und Probleme | 4 | 03.05.07 13:00 |
| TypoScript einer anderen Seite abfragen | mortoX | Extension modifizieren oder neu erstellen | 2 | 27.03.07 13:09 |
| get variablen abfragen und neu setzen | delice | TYPO3 4.x Fragen und Probleme | 0 | 21.07.06 19:02 |
| Ausgabe von TypoScript Objekten/Variablen | arcade | TYPO3 3.x Fragen und Probleme | 2 | 18.02.05 00:31 |