Hallo,

Ik ben bezig met een portfolio en daar wil ik graag dat je verschillende css's kan laden.
Hoe doe ik dat?

Het enige wat ik heb kunnen vinden is het volgende:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Groepsreizen Europa</title>
<link rel="stylesheet" type="text/css" id="maincssfile" media="screen" href="cssdocument1.css" />
</head>
<body onload="">
    hallo allemaal :)<br/><button onclick="document.getElementById('maincssfile').href='cssdocument2.css';">laadt CSS document</button>
</body>
</html>


Alleen nu zou ik graag een uitklap menu willen zodat je daar kan kiezen.
En wanneer je je keuze gemaakt hebt (je klik dus op je keuze) dat hij dat dan gelijk laadt.
MAAR hij moet dat dan vervolgens bij al mijn pagina's doen.
Nu heb ik begrepen dat je dat met cookie's kan doen. Alleen weet ik niets van cookies af.

Kunnen jullie mij helpen.

Groet, Steven
er staat hier ergens een script/tutorial over dynamische css. dat heb je denk ik nodig
Oke, heb inderdaad wel wat gezien over dynamisch css. Dat was echter engels en daar kwam ik niet uit. Ik gebruik hier even de zoekfuntie.
Dank je wel.

Post wel weer als ik er niet uit kom ;)
als je er zometeen weer niet uit komt:
post wat je tot zover hebt (de (relevante) code)
wat is het probleem/wat gaat er fout
en wat moet het bereiken.
Maak een X aantal CSS bestanden aan en zet in een sessie welke geinclude moet worden ;-)
Een klein voorbeeldje:

<?php
session_start();

$aStyles = array(
	'blue' => 'blue.css', 
	'red' => 'red.css',
	'green' => 'green.css'
);
 
if(isset($_GET['style']) && in_array($_GET['style'], array_keys($aStyles)))
{
	$_SESSION['style'] = $aStyles[$_GET['style']];
}
else
{
	if(!isset($_SESSION['style']))
	{
		$_SESSION['style'] = 'blue.css';
	}
}

// Check
echo $_SESSION['style'] . ' is geselecteerd.'
?>

<form method="get" action="">
<select name="style">
	<option value="blue">Blauw</option>
	<option value="red">Rood</option>
	<option value="green">Groen</option>
</select>
<input type="submit" value="Verander style" />
</form>

Probeer dit scriptje allereerst te begrijpen. Daarna zul je zien dat je $_SESSION['style'] kunt gebruiken om de betreffende stylesheet te laden.
Het script wat ik had gevonden met de buttons die doet het. :-)

Het script van Blache doet het niet :-(

Wanneer ik het php gedeelte eruit haal laat hij iig de pagina zien :-s
Maar dat is de bedoeling ook weer niet.

Hieronder de code van Blanche:

[php]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">;
<html xmlns="http://www.w3.org/1999/xhtml">;
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

</head>
<body bgcolor="#000000">
<?php
session_start();

$aStyles = array(
'red' => 'css1.css'
'green' => 'css2.css',
'blue' => 'css3.css',
'orange' => 'css4.css'
);

if(isset($_GET['style']) && in_array($_GET['style'], array_keys($aStyles)))
{
$_SESSION['style'] = $aStyles[$_GET['style']];
}
else
{
if(!isset($_SESSION['style']))
{
$_SESSION['style'] = 'red.css';
}
}

// Check
echo $_SESSION['style'] . ' is geselecteerd.'
?>



<form method="get" action="">
<select name="style">
<option value="green">Groen</option>
<option value="blue">Blauw</option>
<option value="orange">Oranje</option>
</select>
<input type="submit" value="Verander style" />
</form>
</body>
</html>
[/php]

Hier de URL: http://dzjunior.byethost9.com/test/css/cssladen.php
Is er alleen ook nog ergens een optie om het te laten onthouden in cookies?
Zodat ALLE pagina's er het zelfde uit zien??
Tja, ik geef dan ook alleen een voorbeeldje. Het is geen code die je 1-op-1 kunt kopieƫren voor een werkend resultaat.

Jij zult zelf nog de benodigde HTML moeten scripten waarin je $_SESSION['style'] gebruikt om de betreffende stylesheet in te laden. Die echo die ik geef, is alleen een controle dat het scriptje werkt en die kan jij dus gewoon verwijderen...

Is er alleen ook nog ergens een optie om het te laten onthouden in cookies?
Zodat ALLE pagina's er het zelfde uit zien??
Mijn voorbeeld maakt gebruik van een sessievariabele. Die is beschikbaar op elke pagina die je met session_start() begint. Je hebt dus in principe geen cookies nodig. Dit zou je alleen nog kunnen toepassen als je de bezoeker bij terugkomst op je site direct weer dezelfde style wilt voorschotelen.

Maar goed, dan kun jij dus zelf verder met dat voorbeeldje aan de slag om de betreffende variabele ook in een cookie op te slaan...

ps. @Mitchell: alles leuk en aardig, maar hoe wil je er dan ooit voor zorgen dat de gemaakte keuze bewaarde blijft?
yeah dat ziet er iig al uit naar wat ik zoek :D

Alleen (miss lullig) als ik op een andere link klik, heeft die gewoon de standaart layout.
Maar bij mij moet die dus ook dezelfde layout hebben.
Hoe laat ik dat doen??
[email protected] schreef op 09.01.2009 14:50
Alleen (miss lullig) als ik op een andere link klik, heeft die gewoon de standaart layout.
Precies wat ik zeg, dat kun je dus alleen bereiken als je het met PHP oplost.

Zie de uitleg in mijn vorige post...

Reageren