Benni: Verschiedene Syle-Sheets

ALSO:
Ich habe eine homepage gestaltet (wer hätte es gedacht...). Diese Homepage hat zwei Style-Sheet-Dateine, die für die ganze gelten. Mit der Zeit habe ich dann noch zwei weitere "Designs" Programmiert. Aber jetzt findet natürlich jeder ein anderes Design besser. Deshalb suche ich nach einer Möglichkeit, bei der der Besucher das gewünschte Design (also die zu benutzende .css-Datei) auswählen kann, ohne dass ich die ganze Homepage dreimal hochladen muss. Ich wäre Dankebar für sämptliche Lösungen des Problems.
Benni Graf

  1. hi

    Ich habe eine homepage gestaltet (wer hätte es gedacht...). Diese Homepage hat zwei Style-Sheet-Dateine, die für die ganze gelten. Mit der Zeit habe ich dann noch zwei weitere "Designs" Programmiert. Aber jetzt findet natürlich jeder ein anderes Design besser. Deshalb suche ich nach einer Möglichkeit, bei der der Besucher das gewünschte Design (also die zu benutzende .css-Datei) auswählen kann, ohne dass ich die ganze Homepage dreimal hochladen muss. Ich wäre Dankebar für sämptliche Lösungen des Problems.

    Client-Seitig ist eine angabe als "alternate stylesheet" statt "stylesheet" dafür gedacht. Kann aber bisher nur Mozilla Netscape 6.

    Server-Seitig kann man ja das <link rel="stylesheet" .. /> über PHP dynamisch erzeugen. Dann wird der eigentliche Dateiname des CSS als Parameter übergeben.

    Ich selbst habe beides kombiniert, es wird als das Default-CSS über PHP eingebaut, alle weiteren stehen als alternate zur Verfügung. Achtung, dabei müssen dann in den Files alle Angaben vom jeweiligen default, die nicht genutzt werden wieder auf default gesetzt werden, was die Dateien manchmal etas aufbläst..

    gruss Kai

  2. Hi,

    Deshalb suche ich nach einer Möglichkeit, bei der der Besucher das
    gewünschte Design (also die zu benutzende .css-Datei) auswählen kann,
    ohne dass ich die ganze Homepage dreimal hochladen muss.
    Ich wäre Dankebar für sämptliche Lösungen des Problems.

    Du scheinst alle Deine Dateien dynamisch auf dem Server generieren zu müssen.

    Eine nur minimale Änderung gegenüber statischen HTML-Dokumenten wäre es, Server Side Includes zu verwenden, den Namen des Styles als Query-String zu vergeben und diesen dynamisch in den <link>-Tag einfügen zu lassen.
    Zur Ansteuerung des Ganzen könntest Du ein Dropdown-Menü mit allen verfügbaren Styles anbieten.
    Wenn Du dann den Inhalt der bisherigen Dokumente noch aufteilst in einen Abschnitt vor und einen nach diesem Link-Tag, ihn also durch zwei SSI-Include-Anweisungen zu einem vollständigen Dokument zusammenbaust, könnte das ganze mit einer einzigen SSI-Datei funktionieren. Du müßtest dann halt auch den Namen der anzuzeigenden Datei (bzw. den Basisnamen, aus dem die beiden Stücke adressiert werden können) übergeben und mit Apaches XSSI-Logik versuchen, den Query-String in seine Bestandteile zu zerlegen.

    Eine ähnliche Lösung verwende ich auf meine Homepage:
       http://www.schroepl.net/frameset.shtml?oben
    und der kleine weiße Pfeil ganz links. Das ist mit SSI realisiert. Ich habe allerdings keine generische Lösung für die gesamte Site und deshalb selbst nicht ausprobiert, ob und wie Du den Query-String zerlegen könntest. Schlimmstenfalls wäre pro Dokument eine SSI-Variante erforderlich - aber eben nur _eine_ und nicht eine pro Dokument. In diesem Falle wäre allerdings eine serverseitige Sprache, welche Dir sicherlich die erforderliche Funktionalität liefert, vorzuziehen (falls verfügbar).

    "Richtige" Serverseitige Programmiersprachen bieten Dir zweifellos mehr als SSI. Ich wollte nur vorführen, daß für solche kleinen Aufgaben eventuell schon ein weiter verbreiteter und "defensiverer" Mechanismus ausreichen kann.

    Viele Grüße
          Michael

  3. Tach auch,

    Deshalb suche ich nach einer Möglichkeit, bei der der Besucher das gewünschte Design (also die zu benutzende .css-Datei) auswählen kann, ohne dass ich die ganze Homepage dreimal hochladen muss. Ich wäre Dankebar für sämptliche Lösungen des Problems.

    Wonach Du suchst ist wahrscheinlich ein "Styleswitcher", da kannst Du verschiedene Stylesheets direkt zur Auswahl anbieten und der Besucher kann zwischen diesen waehlen.

    Deutsche Beschreibungen/Beispiele sind mir nicht bekannt, Englische findest Du unter anderem hier:
    http://www.alistapart.com/stories/alternate/ (den benutze ich auf meiner Seite)
    http://www.alistapart.com/stories/n4switch/
    http://www20.brinkster.com/liorean/wcd/new/scripts/themeswitch.html

    Gruss,
    Armin