Salut à tous, Smiley smile

Je tiens tout d'abord à remercier les personnes qui me liront, ça risque d'être un peu long.

Je suis actuellement entrain de suivre le tutoriel styleswitcher, je le fais et comme à la majorité des tutoriels que je fais... Ca ne marche pas... J'ai pourtant belle et bien l'impression d'avoir appliqué tout ce qui a été dit. M'enfin...

Le soucis est quand je clic sur mon 2ième skin, il me remet ma page normale, comme si j'avais actualisé.

1er ETAPE

Pour commencer j'ai crée un dossier "/styles" à la racine comme il a été dit. A l'intérieur j'y ai mit 2 dossiers > defaut et brut et dans chacun de ses 2 dossiers j'ai mit une feuille de style nommée "style.css"

2iem ETAPE

Ma page index.php :




<?php
header('Content-type: text/html; charset=iso-8859-1');
require_once './styles/styleswitcher.inc.php';
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>

<title>C E D R I I K.fr | Home</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Language" content="fr" />
<meta name="keywords" content="cedriik, cedric, design, portfolio, netidentite" lang="fr" />
<meta name="description" content="Cedriik.fr est mon portfolio qui regroupe mes créations graphique 2D" />

<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="js/lightbox.js"></script>


<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
<link rel="stylesheet" type="text/css" href="styles/defaut/style.css" />
<link rel="stylesheet" media="screen, projection" type="text/css" id="css" href="<?php echo $url; ?>" />
<link rel="icon" type="image/png" href="favicon.png" />
</head>

<body>
		<div id="global">
				<div id="header">
					<ul id="evitement">
							<li><a href="#contenu">aller au contenu</a> &middot; </li>
							<li><a href="accessibilite.php" title="un site accessible pour tous">accessibilité</a> &middot; </li>
							<li><a href="plan.php">plan du site</a> &middot; </li>
							<li><a href="contact.php" title="email moi">contact</a></li>			
					</ul>	
					<h1><a href="#" title="cedriik.fr">cedriik.fr</a></h1>
					
					<ul id="menu">
							<li><a href="http://www.cedriik.fr/index.php" title="HOME">HOME</a></li>
							<li><a href="http://www.cedriik.fr/portfolio.php" title="PORTFOLIO">PORTFOLIO</a></li>
							<li><a href="http://www.cedriik.fr/liens.php" title="LIENS">LIENS</a></li>
					</ul>
					
					
				</div><!-- fin header -->	
								
				<div id="contenu">
						<h3>EDITO</h3>
								<p class="para">A y'est enfin en ligne !! <br /><br />Mon ptit site perso non lucratif a pour but de montrer des créations graphiques 2D à l'aide de <span class="color"><acronym title="Logiciel de retouche d'image" lang="fr">Photoshop CS3</acronym></span>. En tant que <span class="color"><acronym title="Débutant dans le webmastering" lang="fr">NoobMaster</acronym></span> il a également pour but personel de m'apprendre à créer un site valide <a href="http://www.w3.org/" title="World Wide Web Consortium">w3c</a>.<br /><br /> <span class="italic">Nota : Adoptez <a href="http://www.firefox-download-fr.com/fr.html" title="Téléchargez Firefox">firefox</a>, ça vous changera la vie...</span></p><br />
						<h3>INTRODUCTION</h3>
								<p class="para">Donc en fait j'ai découvert le graphisme il y a à peu près 2 ans par le plus grand des hasards alors que je cherchais un film à <span class="barre">télécharger</span> euuhhh acheter pardon ^^ . <br />Et donc par la suite j'ai attérri sur une <a href="http://www.netidentite.org/forum/index.php?" title="Netidentité.org - Le plaisir de créer">board de graphisme</a> ou j'ai pû découvrir les pixels et son maniement.<br /> L'aventure a donc commencé...</p><br />
						<h3>WHAT'S NEWS</h3>
								<p class="para"><img class="img_float2" src="img/crea/pochette_mini.png" alt="pochette cd"/> Une pochette CD de rap qu'un amis m'a demandé de lui réaliser pour sa prochaine mixtape. Le CD ainsi que le verso de la pochette est déjà réalisé, vu que je n'ai pas la playlist, je ne peux l'up pour le moment. D'ailleurs s'il me lit... Qu'il pense à moi héhé ^^<br /><br />A découvrir dans le <a href="portfolio.php">portfolio</a>.</p>
						<h3>SKINS</h3>
								<p class="para">Yep,<br /><br />Je suis entrain de travailler sur un aurte skin assez sympa. Donc dans la logique des choses <i>(si tout ce passe bien)</i> ce p'tit site devrait, avec le temps, avoir un design interchangeable. </p>
								<p>Petit test ! (pas très concluant pour le moment, niarf !!!) Bon ça me saoul pour le moment, j'vois ça demain [cligne]</p>
								
								<ul id="styleswitcher">
										<li><a href="<?php echo $actuel; ?>?styles=defaut">Skin par defaut</a>.</li>
										<li><a href="<?php echo $actuel; ?>?styles=brut">Aucun skin</a>.</li>
								</ul>
								
								<p class="para"><a href="img/crea/site.jpg" rel="lightbox" title="relooking"><img class="img_float2" src="img/crea/site_mini.png" alt="screen du site" /></a>J'en ai profiter pour relooker le skin actuel. J'pense qu'il ressort mieux avec cet assortiment de couleurs, nan ? [cligne] Un p'tit screen pour faire la différence.</p>	
				</div><!-- fin contenu -->
						
		</div><!-- fin global -->
		
		<div id="footer">
						<p>Cedriik.fr &copy; 2007 - <a href="http://validator.w3.org/check?uri=http%3A%2F%2Fwww.cedriik.fr%2F">xhtml</a> | <a href="http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fwww.cedriik.fr%2Fstylescss%2Fdefault%2Fstyle.css">css</a> - <a href="news.xml" title="s'abonner au flux"><img src="img/rss_rose.png" alt="icone flux rss" /></a></p>
		</div><!-- fin footer -->
</body>
</html> 


3iem ETAPE

Le code php :


<?php
function construire_url($dossier)
{
	return 'http://www.cedriik.fr/styles' . htmlspecialchars($dossier) . '/style.css';
}

$dossiers = array(
	'defaut',
	'brut'
);

$actuel = htmlspecialchars($PHP_SELF);

if(in_array($_GET['style'], $dossiers, true))
{
	setcookie('style', $_GET['style'], time() + (365 * 24 * 3600));
	$url = construire_url($_GET['style']);
}

else if(in_array($_COOKIE['style'], $dossiers, true))
{
	$url = construire_url($_COOKIE['style']);
}

else
{
	$url = construire_url($dossiers[0]);
}
?>


Voila je pense avoir donné tous les éléments qui constituent se styleswitcher. Si j'ai oublié quoi que ce soit, j'éditerais.
Modifié par cedriik__ (21 Sep 2007 - 17:13)
Salut cedriik__ Smiley cligne ,

quelques petites erreurs se sont sournoisement glissées dans ton code :

la ligne :
<link rel="stylesheet" type="text/css" href="styles/defaut/style.css" />
est inutile puisque tu vas redéfinir la css juste après en fonction de la variable $url.

il faut remplacer :
?styles=defaut 
[b]et[/b]
?styles=brut

[b]par[/b]

?style=defaut 
[b]et[/b]
?style=brut
sans s.

et enfin il manque un / dans la fonction construire_url :
function construire_url($dossier)
{
	return 'http://www.cedriik.fr/styles[b]/[/b]' . htmlspecialchars($dossier) . '/style.css';
}


A+ Smiley smile
Merci Heyoan énormément Smiley luvlove

J'aurais pû chercher encore longtemps, encore merci Smiley cligne

Mais néanmoins, j'ai quelques questions :

- Quand je clic sur un autre menu, il me remet mon skin par défaut. Enfin la, je vois pas de quoi il s'agit...

- Et, est-il possible de combiner avec styleswitcher le fait de changer d'habillage et d'agrandir la police par la même occasion ???

Encore merci Smiley smile
Hop hop hop, j'ai résolu mon premier problème tout bêtement.

J'avais juste oublié (une fois de plus) de retirer cette ligne de code dans mes autres pages :


<link rel="stylesheet" type="text/css" href="styles/defaut/style.css" />


j'deviens bon... Lol Smiley murf

EDIT: En fait nan, j'ai rêvé, j'ai toujours le même problème... Smiley bawling
Modifié par cedriik__ (21 Sep 2007 - 15:17)
Re-salut,

As-tu bien modifié le ?styles= sur toutes tes pages ?

Sinon le plus simple serait de donner le lien vers ton site (s'il est en ligne) ou à défaut donner ton nouveau code Smiley cligne
Mon site est en ligne oui, clique ici

Il est possible que cela vienne de ce que tu viens de dire, maintenant que tu en parles. J'te laisse le soin de me confirmer ça. Smiley cligne
A priori tu as oublié la ligne :
<link rel="stylesheet" media="screen, projection" type="text/css" id="css" href="<?php echo $url; ?>" />
sur toutes tes pages à l'exception de la page d'accueil Smiley langue !

A+


PS1 : ce serait peut-être une bonne idée de relire le tutoriel pour bien comprendre comment ça marche Smiley lol ...

PS2 : pour ce qui est de la taille du texte tu peux effectivement le gérer par le biais d'une css. Tu pourrais par exemple rajouter :
html {
font-size:120%;
}
Une autre solution serait de le faire par Javascript (une recherche dans Google devrait te permettre de trouver plusieurs scripts déjà faits)
Modifié par Heyoan (21 Sep 2007 - 17:03)
Et voila, une fois de plus un oublis de débutant... Encore une fois merci beaucoup Smiley baiser

Mais peux-tu me dire si je peux utiliser styleswitcher pour à la fois augmenter la taille de ma police et changer d'habillage ???

Ou sinon qu'elle serait la subtilité à adopter ???

Merci

edit : ok merci pour le ps1 et le ps2, je le ferais sans soucis. Smiley smile
Modifié par cedriik__ (21 Sep 2007 - 17:12)