Page 1 of 1

seitenabhängiges (dynamisches) Stylesheet?

Posted: Tue Nov 09, 2010 9:12 am
by nicmare
Ich möchte dass bestimmte Elemente (, etc) in einer bestimmten Farbe dargestellt werden. Und zwar auf jeder Seite in einer anderen Farbe.
Mir steht dafür schonmal ne Variable zur Verfügung:
{capture assign=colorscheme}style{$position|truncate:1:""}{/capture}
Also colorscheme enthält bspw style1 wenn man auf der 1. Seite ist oder style5 wenn man auf der 5 ist.
Ich habe ne recht primitive Abfrage direkt im Stylesheet versucht:

Code: Select all

a {
    text-decoration:none;
    color:[[if $colorscheme == "style1"]][[$color1]][[elseif $colorscheme == "style2"]][[$color2]][[elseif $colorscheme == "style3"]][[$color3]][[elseif $colorscheme == "style4"]][[$color4]][[elseif $colorscheme == "style5"]][[$color5]][[elseif $colorscheme == "style6"]][[$color6]][[elseif $colorscheme == "style7"]][[$color7]][[/if]];}
und im stylesheet:

Code: Select all

[[assign var=color1 value="#ae7777"]]
[[assign var=color2 value="#cbbea4"]]
[[assign var=color3 value="#4e4942"]]
[[assign var=color4 value="#998b6e"]]
[[assign var=color5 value="#9f2f2e"]]
[[assign var=color6 value="#446e69"]]
[[assign var=color7 value="#e2a36c"]]
Aber solche Abfragen sind unpraktikabel und problematisch direkt im Stylesheet da das CSS ja neuerdings gecached wird und dadurch nicht immer die Abfrage glückt. Nun dachte ich mir dass man vielleicht direkt im Templateheader eine Abfrage schreiben kann?! Ich brauche hier mal einen Denkanstoß! Das muss man irgendwie außerdem halb vom styleseheet abfragen. Vielleicht mit mehreren Stylesheets?
Danke

Re: seitenabhängiges (dynamisches) Stylesheet?

Posted: Tue Nov 09, 2010 9:30 am
by uniqu3
Warum verwendest Du nicht einfach so kannst ja im Stylesheet einfach .deinalias h3 irgendwas verwenden?

Re: seitenabhängiges (dynamisches) Stylesheet?

Posted: Tue Nov 09, 2010 9:34 am
by nicmare
ja mensch perfekt! na so einer simplen lösung habe ich gesucht. manchmal denkt man eben doch zu kompliziert bzw habe ich erst einen kaffee heute getrunken ^^. danke !

Re: seitenabhängiges (dynamisches) Stylesheet?

Posted: Tue Nov 09, 2010 9:36 am
by uniqu3
nicmare wrote: ja mensch perfekt! na so einer simplen lösung habe ich gesucht. manchmal denkt man eben doch zu kompliziert bzw habe ich erst einen kaffee heute getrunken ^^. danke !
Ja das mit kompliziert denken, habe ich eigentlich ziemlich gut drauf hab aber heute schon dritten Kaffee da funktioniert das denken schon etwas besser  :)

Re: seitenabhängiges (dynamisches) Stylesheet?

Posted: Tue Nov 09, 2010 9:43 pm
by cyberman
Alternativ könntest du auch für jede Seite die veränderliche CSS über den name-Parameter des Stylesheet-Tags für jede Seite separat einbinden.

Also

Code: Select all

{stylesheet}
{stylesheet name=$page_alias}
Ist zwar ein Request mehr, aber die CSS wird nicht unnötig aufgebläht (Stichwort PageSpeed ;)).

Re: seitenabhängiges (dynamisches) Stylesheet?

Posted: Sun Nov 21, 2010 1:47 pm
by dc2
Was haltet ihr eigentlich davon, seitenspezifische ( Tag einzubinden?
Bin gerade dabei, solchen seitenspezifischen Kram aus dem globalen Stylesheet zu nehmen, weil das dadurch schon ziemlich aufgebläht wird. Aber ein extra Request ist mir das ganze auch nicht wert - aus pragmatischer Sicht tendiere ich also zum Style-Tag - wie seht ihr das? (Ich lasse mich gern umstimmen^^).

Re: seitenabhängiges (dynamisches) Stylesheet?

Posted: Sun Nov 21, 2010 2:46 pm
by nockenfell
Naja, wenn das ganze gecached wird, spielt die Grösse meines erachtens keine Rolle mehr. Wenn du die Stylesheets seitenspezifisch einbindest, hast du einfach mehr Arbeit und kannst dies keinem Redaktor übertragen.

Ich persönlich setze http://code.google.com/p/minify/ ein um meine Stylesheets und JavaScripts zu optimieren. Dadurch spart man jeweils auch schon einiges. Als Modul kannst du hier z.B. ScriptDeploy einsetzen.

Re: seitenabhängiges (dynamisches) Stylesheet?

Posted: Sun Nov 21, 2010 6:19 pm
by uniqu3
@dc2
Ich denke mit abfragen direkt im Template werden ebenso unnötige Ressourcen verbraucht, also verwende ich persönlich doch lieber die body id Methode mit zusätzlichen Zeilen im Stylesheet, das ich sowieso immer mit ScriptDeploy optimiere und ehrlich gesagt wenn Du keine Seite mit 1000000 tägliche Besucher betreibst sind die 5kb auch kein Weltuntergang.

Re: seitenabhängiges (dynamisches) Stylesheet?

Posted: Sun Nov 21, 2010 6:37 pm
by dc2
Ich verwende eh komplett statische Stylesheets (also nicht den {stylesheet}-Tag)..
Aber erstmal hab ich noch genug anderes zu tun, bis ich mich wieder hier dran setzen kann^^

Re: seitenabhängiges (dynamisches) Stylesheet?

Posted: Sun Nov 21, 2010 7:20 pm
by nockenfell
dc2 wrote: Ich verwende eh komplett statische Stylesheets (also nicht den {stylesheet}-Tag)..
Aber erstmal hab ich noch genug anderes zu tun, bis ich mich wieder hier dran setzen kann^^
Dann würde ich mir minify mal anschauen
http://code.google.com/p/minify/

Ich setze bei mir auch statische Stylesheets ein, welche ich auf dem Server dynamisch mit minify minimieren lasse.