Alt 25.08.2008, 22:09:40   #1 (permalink)
4L4L VERIFIZIERTER User
Erfahrener Benutzer
Benutzerbild von 4L4L

ID: 199220
Lose senden
Reallife

Reg: 24.04.2006
Beiträge: 1.921
Standard Zwei .css in einem Design - mit einem Klick wechseln

Hallo,

hoffe der Titel beschreibt das Problem ein bisschen.
Foglende Sache:
Ich habe für ein Design 2 Stylesheets, die jeweils die Farbe des Designs ändern.
Ich will, dass der Besucher mit einem Klick das Design ändern kann und danach immernoch auf der selben Seite ist.

Denke mit Variabeln in PHP ist es machbar. Hinzu kommt aber, dass ich die Links mit mod_rewrite Suma freundlichen machen will.
Jemand eine Idee/Scriptcode wie ich das machen kann?
Wäre sehr dankbar. Hab bei Google nichts sinnvolles gefunden.

Vielen Dank im Voraus.

Grüße
 
4L4L ist offline   Mit Zitat antworten
Alt 25.08.2008, 22:15:14   #2 (permalink)
theHacker PREMIUM-User
sieht vor lauter Ads
den Content nicht mehr
Benutzerbild von theHacker

ID: 69505
Lose senden

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 22.685
Standard

Die Info, welches Stylesheet gewählt wurde, kannst du doch in einer Session abspeichern, sodass das in keinem Link auftaucht.
NEU theHacker.blog NEU
– It's just a glitch in the Matrix –

OpenIsles - das freie Insel-Aufbauspiel | www.theHacker.ws v3 | WhatPulse-Team
theHacker ist offline   Mit Zitat antworten
Alt 25.08.2008, 22:21:55   #3 (permalink)
4L4L VERIFIZIERTER User
Erfahrener Benutzer
Benutzerbild von 4L4L

ID: 199220
Lose senden
Reallife

Reg: 24.04.2006
Beiträge: 1.921
Standard

Zitat:
Zitat von theHacker Beitrag anzeigen
Die Info, welches Stylesheet gewählt wurde, kannst du doch in einer Session abspeichern, sodass das in keinem Link auftaucht.
Hmm, stimmt wäre ne Möglichkeit, aber dann müsst ich das Script ganz schön abändern. Trotzdem danke!
Gibts nicht ne einfachere Möglichkeit?


Lg
 
4L4L ist offline Threadstarter   Mit Zitat antworten
Alt 25.08.2008, 22:23:44   #4 (permalink)
QuArK007
an Board...
Benutzerbild von QuArK007

ID: 217116
Lose senden

QuArK007 eine Nachricht über ICQ schicken
Reg: 24.04.2006
Beiträge: 1.485
Standard

Oder du bietest diesen "Service" nur für User, die dir auch vertrauen und Cookies zulassen. Dann hast du auch den Vorteil, falls Leute länger auf der Seite sind, ohne eine Aktion, dass dann immer noch das zu vor ausgewählte Design gewählt ist. Allerdings müssen die User dafür Cookies zulassen.

Diese beiden Methoden könnte man auch kombinieren und checken, falls der Cookie nicht gesetzt werden kann bzw falls er nicht gesetzt ist, dann eben das Design in der Session zu speichern. So eine Session hält aber (glaube je nach Servereinstellung) nur 5-20 Minuten.

p.s.: viel abzuändern ist da nicht. Du musst nur ganz an den Anfang noch einen Code hinzufügen, die eine Variable definiert, die du dann in der aufgerufenen Datei an stelle des css-Dateinamen hinschreibst. Ist (in meinen Augen) ein Aufwand von vielleicht 15 Minuten
Dear XKeyscore, things I Like:

Linux, IRC, TrueCrypt, Tor, PGP, enigmail, Threema, TextSecure, SilentCircle, ProtonMail, startpage.com
QuArK007 ist offline   Mit Zitat antworten
Alt 25.08.2008, 23:02:44   #5 (permalink)
theHacker PREMIUM-User
sieht vor lauter Ads
den Content nicht mehr
Benutzerbild von theHacker

ID: 69505
Lose senden

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 22.685
Standard

Zitat:
Zitat von sTyL3R Beitrag anzeigen
Hmm, stimmt wäre ne Möglichkeit, aber dann müsst ich das Script ganz schön abändern. Trotzdem danke!
Gibts nicht ne einfachere Möglichkeit?
Spontan hab ich jetzt 3-4 Zeilen Code im Kopf. Einfacher gehts sicherlich nicht mehr
PHP-Code:
1:
2:
3:
4:
if(!isset($_SESSION['css']))
  
$_SESSION['css'] = 1;

$smarty->assign('cssfile'$_SESSION['css'] == 'layout1.css' 'layout2.css'); 
Ersetzte $_SESSION durch $_COOKIE und du hast QuArK007's Variante.

Und was hättest du jetzt alles abgeändert?

@QuArK007:
PHP's Sessions werden je nach Einstellung eh über Keks gesteuert, also is der Unterschied nicht besonders groß.
NEU theHacker.blog NEU
– It's just a glitch in the Matrix –

OpenIsles - das freie Insel-Aufbauspiel | www.theHacker.ws v3 | WhatPulse-Team
theHacker ist offline   Mit Zitat antworten
Alt 26.08.2008, 03:54:59   #6 (permalink)
scriper
Eta Capricorni
Benutzerbild von scriper

ID: 57943
Lose senden

scriper eine Nachricht über ICQ schicken
Reg: 03.05.2006
Beiträge: 2.756
Standard

Du kannst auch mittels Javascript die entsprechenden CSS-Dateien austauschen oder einfach das Element manipulieren.

scriper ist offline   Mit Zitat antworten
Alt 26.08.2008, 09:27:11   #7 (permalink)
4L4L VERIFIZIERTER User
Erfahrener Benutzer
Benutzerbild von 4L4L

ID: 199220
Lose senden
Reallife

Reg: 24.04.2006
Beiträge: 1.921
Standard

Zitat:
Zitat von scriper Beitrag anzeigen
Du kannst auch mittels Javascript die entsprechenden CSS-Dateien austauschen oder einfach das Element manipulieren.
Nochmal vielen Dank an die anderen Vorschläge. Bin jetzt selber unentschlossen wie ich es mache. Werd mir nachher nochmal das Script angucken ob es so einfach zu machen ist.

@scripter: hast du zufällig ein Link oder den Code wie man das mit JS machen kann? Und wie kann man das Element manipulieren?
Bin in PHP und JS nicht unbedingt der Könner

Lg
 
4L4L ist offline Threadstarter   Mit Zitat antworten
Alt 26.08.2008, 10:04:16   #8 (permalink)
theHacker PREMIUM-User
sieht vor lauter Ads
den Content nicht mehr
Benutzerbild von theHacker

ID: 69505
Lose senden

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 22.685
Standard

Zitat:
Zitat von scriper Beitrag anzeigen
Du kannst auch mittels Javascript die entsprechenden CSS-Dateien austauschen oder einfach das Element manipulieren.
Das sieht dann aber hässlich aus, wenn das Design "flackert". Ich finde, sowas sollte man auf Server-Seite machen und dem User gar nicht mitkriegen lassen, wie es läuft.
NEU theHacker.blog NEU
– It's just a glitch in the Matrix –

OpenIsles - das freie Insel-Aufbauspiel | www.theHacker.ws v3 | WhatPulse-Team
theHacker ist offline   Mit Zitat antworten
Alt 26.08.2008, 10:35:12   #9 (permalink)
4L4L VERIFIZIERTER User
Erfahrener Benutzer
Benutzerbild von 4L4L

ID: 199220
Lose senden
Reallife

Reg: 24.04.2006
Beiträge: 1.921
Standard

Werde dann glaub ich die Variante mit der Session nehmen. Scheint mir am saubersten und einfahcsten zu sein.

Vielen Dank nochmal.

Grüße
 
4L4L ist offline Threadstarter   Mit Zitat antworten
Alt 26.08.2008, 11:40:03   #10 (permalink)
evident
Nachteule

ID: 12341
Lose senden

evident eine Nachricht über ICQ schicken evident eine Nachricht über AIM schicken evident eine Nachricht über MSN schicken evident eine Nachricht über Yahoo! schicken
Reg: 20.04.2006
Beiträge: 499
Cool

Würde dir empfehlen, dass ganze mit JS / Ajax zu machen...

Beispiel siehste ja hier:

http://www.kulturbanause.de/

da kann man das Design auch sofort ändern und bleibt auf der Seite...

-Flori-
Meine neue Seite: www.placebo-effect.de
www.wilde-jungs.net | Die Götter des Nachtlebens!
Ich bin nur eine Leuchtdiode unter Glühbirnen...
evident ist offline   Mit Zitat antworten
Alt 26.08.2008, 13:19:47   #11 (permalink)
ice-breaker
return void
Benutzerbild von ice-breaker

ID: 93995
Lose senden

ice-breaker eine Nachricht über ICQ schicken
Reg: 27.04.2006
Beiträge: 6.271
Standard

Zitat:
Zitat von sTyL3R Beitrag anzeigen
Hmm, stimmt wäre ne Möglichkeit, aber dann müsst ich das Script ganz schön abändern. Trotzdem danke!
Gibts nicht ne einfachere Möglichkeit?


Lg
moment mal, wenn jede URL angepasst werden muss, da eine Angabe über das Template reinkommt, ist das doch deutlich mehr Arbeit als nen Cookie setzen und ne if für die Ausgabe des Stylesheets zu machen.


Zitat:
Zitat von theHacker Beitrag anzeigen
Das sieht dann aber hässlich aus, wenn das Design "flackert". Ich finde, sowas sollte man auf Server-Seite machen und dem User gar nicht mitkriegen lassen, wie es läuft.
Wenn man per JS regelt, dass alle Grafiken vorgeladen sind bevor das neue Stylesheet aktiviert wird sieht man kein Flackern.


Zitat:
Zitat von evident Beitrag anzeigen
Würde dir empfehlen, dass ganze mit JS / Ajax zu machen...

Beispiel siehste ja hier:

http://www.kulturbanause.de/

da kann man das Design auch sofort ändern und bleibt auf der Seite...

-Flori-
Mit Ajax hat das mal gar nichts zu tun! Nicht immer gleich Ajax rufen, warum wird nur immer Ajax geschriehen von denen, die am wenigsten verstehen wie etwas funktioniert?
Das wird mit JavaScript und Cookies umgesetzt genau so wie ich es mir denke, nur mit dem Fehler das es keinen Fallback hat, wenn Js deaktiviert ist, so weit wird meist nicht gedacht.
"Die Wahrheit entgeht dem, der nicht mit beiden Augen sieht." -Orici

www.internet-dsl-flatrate.de
ice-breaker ist offline   Mit Zitat antworten
Alt 26.08.2008, 13:48:18   #12 (permalink)
theHacker PREMIUM-User
sieht vor lauter Ads
den Content nicht mehr
Benutzerbild von theHacker

ID: 69505
Lose senden

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 22.685
Standard

Zitat:
Zitat von ice-breaker Beitrag anzeigen
Wenn man per JS regelt, dass alle Grafiken vorgeladen sind bevor das neue Stylesheet aktiviert wird sieht man kein Flackern.
Dann komm ich mit: Was is wenn der Browser nicht alles im Cache halten will/kann? - ok, jetzt wirds abenteuerlich , aber sollte verdeutlichen, dass der JS-Weg in meinen Augen etwas leicht überdimensioniert für einstellig Anzahl PHP-Code.
Zitat:
Zitat von ice-breaker Beitrag anzeigen
Nicht immer gleich Ajax rufen, warum wird nur immer Ajax geschriehen von denen, die am wenigsten verstehen wie etwas funktioniert?
"AJAX" is das Zauberwort für alles, was komisch und neu is.
Will man das Feature selber beschreiben, wirft man den Allrounder "Web 2.0" in den Raum. Für die Beschreibung der technischen Realisierung is "AJAX" der passende Begriff zum Wild-in-den-Raum-schmeißen
NEU theHacker.blog NEU
– It's just a glitch in the Matrix –

OpenIsles - das freie Insel-Aufbauspiel | www.theHacker.ws v3 | WhatPulse-Team
theHacker ist offline   Mit Zitat antworten
Alt 26.08.2008, 14:18:36   #13 (permalink)
evident
Nachteule

ID: 12341
Lose senden

evident eine Nachricht über ICQ schicken evident eine Nachricht über AIM schicken evident eine Nachricht über MSN schicken evident eine Nachricht über Yahoo! schicken
Reg: 20.04.2006
Beiträge: 499
Standard

Zitat:
Zitat von ice-breaker Beitrag anzeigen
Mit Ajax hat das mal gar nichts zu tun! Nicht immer gleich Ajax rufen, warum wird nur immer Ajax geschriehen von denen, die am wenigsten verstehen wie etwas funktioniert?
Ist mir schon bewusst, dass es eher reines JS ist...
ging mir ja auch nur eher darum, dass es um den Effekt geht, andere Inhalte (Bilder, Stylesheets, ...) zu laden, ohne die komplette Seite neu laden zu müssen... und für Text funktioniert sowas bekanntlich ja ganz gut per HTTP-Request mit Ajax.

Also leg hier bitte nicht gleich jedes Wort auf die Goldwaage!

-Flori-
Meine neue Seite: www.placebo-effect.de
www.wilde-jungs.net | Die Götter des Nachtlebens!
Ich bin nur eine Leuchtdiode unter Glühbirnen...
evident ist offline   Mit Zitat antworten
Alt 26.08.2008, 14:51:01   #14 (permalink)
ice-breaker
return void
Benutzerbild von ice-breaker

ID: 93995
Lose senden

ice-breaker eine Nachricht über ICQ schicken
Reg: 27.04.2006
Beiträge: 6.271
Standard

Zitat:
Zitat von theHacker Beitrag anzeigen
"AJAX" is das Zauberwort für alles, was komisch und neu is.
Will man das Feature selber beschreiben, wirft man den Allrounder "Web 2.0" in den Raum. Für die Beschreibung der technischen Realisierung is "AJAX" der passende Begriff zum Wild-in-den-Raum-schmeißen
geil!
"Die Wahrheit entgeht dem, der nicht mit beiden Augen sieht." -Orici

www.internet-dsl-flatrate.de
ice-breaker ist offline   Mit Zitat antworten
Alt 26.08.2008, 17:05:50   #15 (permalink)
4L4L VERIFIZIERTER User
Erfahrener Benutzer
Benutzerbild von 4L4L

ID: 199220
Lose senden
Reallife

Reg: 24.04.2006
Beiträge: 1.921
Standard

Also alle Bilder auf der Seite belaufen sich auf ca 200kb. Denke da wirds so oder so nicht zu einem flackern kommen, außer es kommen noch Leute mit nem 56k Modem.

Also so wie auf oben verlinkten Seite Kulturbanause will ich es haben
Hat da zufällig wer einen Code oder einen Link mit Anleitung wie es geht?
Edit: Gut google liefert einige Ergebnisse mal gucken ob ich was finde...

Wäre über Hilfe dankbar.

Grüße
 
4L4L ist offline Threadstarter   Mit Zitat antworten
Antwort

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[V] Handy Hintergrundbilder HUETE ZWEI ZUM PREIS VON EINEM Creative007 Lose4Graphics (erledigt) 13 06.02.2008 20:38:28
[HTML/JS] zwei pop-ups mittels einem klick aufmachen hypostasis Programmierung 10 30.01.2007 22:12:41
[PHP] Zwei Datenbanken in einem Skript ? TierVilla Programmierung 4 17.09.2006 18:05:52
Sharif zu einem oder zwei Amis Sharif Suche Werber: andere 1 28.06.2006 17:56:33
Wer kann mir bei einem Problem mit einem Webbi helfen? welche Möglichkeiten hat klamm maus44 Ich bin neu hier und habe eine Frage! 5 17.06.2006 18:23:37


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:38:50 Uhr.