Avatar billede lordhead Nybegynder
23. januar 2004 - 13:59 Der er 18 kommentarer og
1 løsning

Brugeren vælger imellen stylesheets

Hej eksperter.

Ved i om man kan få brugerdefinerede stylesheets ligesom på www.csszengarden.com, uden at skulle ud i tonsvis af programmering. Altså med et lille java-script, eller php-script?

Det ville nemlig være fedt at kunne lave måske 10 designs mine brugere så selv skifter imellem som det passer dem. Det bliver både sjovere for mig og for mine besøgende ;)
Avatar billede schaefner Juniormester
23. januar 2004 - 14:05 #1
<a href="?cssfile=dusktilldawn.css">Dusk till Dawn</a>

<?php
$allowed_stylesheets = array('dusktilldawn.css','default.css');
$default = 'default.css';

if (isset($_GET['cssfile']) && in_array($_GET['cssfile'],$allowed_stylesheets)) {
  $stylesheet = $_GET['cssfile'];
} else {
  $stylesheet = $default;
}
echo '<link rel="stylesheet" type="text/css" href="'.$stylesheet.'">';
?>
Avatar billede schaefner Juniormester
23. januar 2004 - 14:06 #2
lidt kønnere:

<?php
$allowed_stylesheets = array('dusktilldawn.css','default.css');
$default = 'default.css';

$stylesheet = (isset($_GET['cssfile']) && in_array($_GET['cssfile'],$allowed_stylesheets)) ? $_GET['cssfile'] : $default;

echo '<link rel="stylesheet" type="text/css" href="'.$stylesheet.'">';
?>
Avatar billede lordhead Nybegynder
23. januar 2004 - 14:08 #3
Kan du så forklare hvad jeg skal gøre for at få det til at virke? er ikke den store php-programmør :)
Avatar billede lordhead Nybegynder
23. januar 2004 - 14:08 #4
og er det noget der kræver sql?
Avatar billede schaefner Juniormester
23. januar 2004 - 14:10 #5
allowed_stylesheets indeholder de stylesheets der kan vælges. $default er det stylesheet der skal vælges hvis der ikke er valgt noget andet elelr er valgt et stylesheet der ikke eksisterer. Du laver et dokuement noget lignende det her:

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Titel</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<?php
$allowed_stylesheets = array('dusktilldawn.css','default.css');
$default = 'default.css';

$stylesheet = (isset($_GET['cssfile']) && in_array($_GET['cssfile'],$allowed_stylesheets)) ? $_GET['cssfile'] : $default;

echo '<link rel="stylesheet" type="text/css" href="'.$stylesheet.'">';
?>
</head>

<body>

<a href="?cssfiles=dusktilldawn.css">Dusk till Dawn</a>

</body>
</html>
Avatar billede schaefner Juniormester
23. januar 2004 - 14:11 #6
nej der skal ikke bruges sql. Du skal bare lave de css-filer der skal kunne bruges.
Avatar billede schaefner Juniormester
23. januar 2004 - 14:12 #7
hov, linket skal lige være:

<a href="?cssfile=dusktilldawn.css">Dusk till Dawn</a>
Avatar billede lordhead Nybegynder
23. januar 2004 - 14:15 #8
Mange tak for hjælpen. Det lyder godt. Lige det jeg skulle bruge ;)

Læg et svar.
Avatar billede schaefner Juniormester
23. januar 2004 - 14:17 #9
ok, lavede lige et eksempel: http://schaefner.dk/files/temp/css_switch.zip
Avatar billede lordhead Nybegynder
23. januar 2004 - 14:21 #10
Avatar billede Slettet bruger
23. januar 2004 - 22:57 #11
Prøv forresten at se her: http://www.alistapart.com/articles/alternate/

Hvis du angiver dit normale stylesheet som

<link rel="stylesheet" type="text/css" href="default.css" title="standard" />

og de andre som


<link rel="alternate stylesheet" type="text/css" href="dusktilldawn.css" title="Dusk till Dawn" />

Så kan vi, der bruger en browser med indbygget styleswitcher bruge den i stedet for din.
Avatar billede schaefner Juniormester
24. januar 2004 - 00:28 #12
ja, FireBird kan det lille trick. Det er nu en dejlig browser :)
Avatar billede Slettet bruger
24. januar 2004 - 00:36 #13
Det har Mozilla nu kunnet længe. Firebird har bare gjort den lettere at finde. I Mozilla er de alternative stylesheets i View->Use Style-menuen. (Og Konqueror har den samme sted.)

Jeg er ikke sikker, men jeg mener også Opera har denne funktion.
Avatar billede lordhead Nybegynder
29. januar 2004 - 11:28 #14
Nu skal jeg lige høre; hvordan gør man det i firebird? Kan ikke finde det et alternativt sted ;)
Avatar billede Slettet bruger
29. januar 2004 - 11:43 #15
Firebird har en lille ikon nederst til venstre. Jeg tror den er kommet med fr version 0.7. Før 0.7 var det vist bare et menupunkt ligesom i den normale Mozilla.
Avatar billede lordhead Nybegynder
29. januar 2004 - 12:05 #16
Kan du referere til en side hvor jeg kan prøve det?
Avatar billede Slettet bruger
29. januar 2004 - 12:28 #17
Her. Jeg har valget mellem "No theme", "Basic theme" og "Eksperten".
Avatar billede lordhead Nybegynder
29. januar 2004 - 12:49 #18
Kan du evt. sende et screenshot? :)
Avatar billede Slettet bruger
30. januar 2004 - 15:20 #19
Et screenshot af hvad?
Menuen?
Siden med et andet stylesheet? (Både "No theme" og "Basic theme" lader til at være siden, som den ville se ud uden stylesheet.)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester