Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2737 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  TUTORIEL COMPLET : plusieurs CSS au choix...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

TUTORIEL COMPLET : plusieurs CSS au choix...

n°723341
foxcssfox
The design of CSS...
Posté le 12-05-2004 à 15:14:04  profilanswer
 

Comme j'ai pas mal galéré pour arrivé au resultat escompté, je vous propose un tutoriel super simple et COMPLET pour faire choisir une CSS à l'internaute, valable pour la consultation de tout le site....
(ps : toutes les pages doivent avoir l'extension .php)
 
1>>> DANS MA PAGE INDEX :
Tout en haut de ma page :  

Code :
  1. <?php session_start();
  2. if(!$_GET['color'])
  3. {
  4. $_SESSION['color']="couleur"; //par défaut prendre la CSS appelé  //dans le repertoire Couleur et appelé Style.css
  5. }
  6. else
  7. {
  8. $_SESSION['color']=$_GET['color'];
  9. }
  10. ?>


 
J'appelle la CSS de la façon suivante :

Code :
  1. <link rel="stylesheet" href="<?php echo "styles/". $color . "/style.css"; ?>"/>


 
 
Puis dans ma page je présente quelques petites images de couleur : en cliquant dessus, l'internaute choisira sa CSS...

Code :
  1. <div id="choix-des-couleurs">
  2. <div><a href="<?php echo $PHP_SELF ?>?color=bleu">
  3. <img src="cssboutons/bleu.png" alt=""/></a></div>
  4. <div><a href="<?php echo $PHP_SELF ?>?color=bleuflash">
  5. <img src="cssboutons/bleuflash.png" alt=""/></a></div>
  6. <div><a href="<?php echo $PHP_SELF ?>?color=bleuocre">
  7. <img src="cssboutons/bleuocre.png" alt=""/></a></div>
  8. <div><a href="<?php echo $PHP_SELF ?>?color=bleutresclair">
  9. <img src="cssboutons/bleutresclair.png" alt=""/></a></div>
  10. <div><a href="<?php echo $PHP_SELF ?>?color=couleur">
  11. <img src="cssboutons/couleur.png" alt=""/></a></div>
  12. <div><a href="<?php echo $PHP_SELF ?>?color=prune">
  13. <img src="cssboutons/prune.png" alt=""/></a></div>
  14. <div><a href="<?php echo $PHP_SELF ?>?color=vertflash">
  15. <img src="cssboutons/vertflash.png" alt=""/></a></div>
  16. <div><a href="<?php echo $PHP_SELF ?>?color=violet">
  17. <img src="cssboutons/violet.png" alt=""/></a></div>
  18. <p>Cliquez sur une couleur : le site sera peint en un temps record</p>
  19. </div>


 
1>>> DANS TOUTES MES AUTRES PAGES :
Mettre ce morceau de code en HAUT de toutes les autres pages de tout le site :

Code :
  1. <?php session_start();
  2. ?>


 
N'oubliez pas non plus de recopier la ligne de code pour aller cherche la CSS selectionnée :

Code :
  1. <link rel="stylesheet" href="<?php echo "styles/". $color . "/style.css"; ?>"/>


 
Rappel : toutes les pages doivent avoir pour extension : .php
 
Voila, je crois que j'ai terminé... SI vous souhaitez l'ameliorer, n'hésitez pas à me faire des propositions, j'espère que les débutants comme moi, arrivenont à la faire...
FOXCSSFOX


---------------
"Nous sommes tous dans le caniveau, mais certains d'entre nous regardent les étoiles" Oscar Wild
mood
Publicité
Posté le 12-05-2004 à 15:14:04  profilanswer
 

n°723368
freed102
Arayashiki
Posté le 12-05-2004 à 15:23:20  profilanswer
 

foxcssfox a écrit :

Comme j'ai pas mal galéré pour arrivé au resultat escompté, je vous propose un tutoriel super simple et COMPLET pour faire choisir une CSS à l'internaute, valable pour la consultation de tout le site....
(ps : toutes les pages doivent avoir l'extension .php)
 
1>>> DANS MA PAGE INDEX :
Tout en haut de ma page :  

Code :
  1. <?php session_start();
  2. if(!$_GET['color'])
  3. {
  4. $_SESSION['color']="couleur"; //par défaut prendre la CSS appelé  //dans le repertoire Couleur et appelé Style.css
  5. }
  6. else
  7. {
  8. $_SESSION['color']=$_GET['color'];
  9. }
  10. ?>


 
J'appelle la CSS de la façon suivante :

Code :
  1. <link rel="stylesheet" href="<?php echo "styles/". $color . "/style.css"; ?>"/>


 
 
Puis dans ma page je présente quelques petites images de couleur : en cliquant dessus, l'internaute choisira sa CSS...

Code :
  1. <div id="choix-des-couleurs">
  2. <div><a href="<?php echo $PHP_SELF ?>?color=bleu">
  3. <img src="cssboutons/bleu.png" alt=""/></a></div>
  4. <div><a href="<?php echo $PHP_SELF ?>?color=bleuflash">
  5. <img src="cssboutons/bleuflash.png" alt=""/></a></div>
  6. <div><a href="<?php echo $PHP_SELF ?>?color=bleuocre">
  7. <img src="cssboutons/bleuocre.png" alt=""/></a></div>
  8. <div><a href="<?php echo $PHP_SELF ?>?color=bleutresclair">
  9. <img src="cssboutons/bleutresclair.png" alt=""/></a></div>
  10. <div><a href="<?php echo $PHP_SELF ?>?color=couleur">
  11. <img src="cssboutons/couleur.png" alt=""/></a></div>
  12. <div><a href="<?php echo $PHP_SELF ?>?color=prune">
  13. <img src="cssboutons/prune.png" alt=""/></a></div>
  14. <div><a href="<?php echo $PHP_SELF ?>?color=vertflash">
  15. <img src="cssboutons/vertflash.png" alt=""/></a></div>
  16. <div><a href="<?php echo $PHP_SELF ?>?color=violet">
  17. <img src="cssboutons/violet.png" alt=""/></a></div>
  18. <p>Cliquez sur une couleur : le site sera peint en un temps record</p>
  19. </div>


 
1>>> DANS TOUTES MES AUTRES PAGES :
Mettre ce morceau de code en HAUT de toutes les autres pages de tout le site :

Code :
  1. <?php session_start();
  2. ?>


 
N'oubliez pas non plus de recopier la ligne de code pour aller cherche la CSS selectionnée :

Code :
  1. <link rel="stylesheet" href="<?php echo "styles/". $color . "/style.css"; ?>"/>


 
Rappel : toutes les pages doivent avoir pour extension : .php
 
Voila, je crois que j'ai terminé... SI vous souhaitez l'ameliorer, n'hésitez pas à me faire des propositions, j'espère que les débutants comme moi, arrivenont à la faire...
FOXCSSFOX


 
Mmmmeuuuuh !! c moi qui l'a fait !  :heink:


---------------
Freed102
n°723766
bobe
Posté le 12-05-2004 à 18:07:11  profilanswer
 

Intégralement géré avec le DOM, c'est mieux:
http://dev.webnaute.net/Applications/Switcher/


Message édité par bobe le 11-07-2004 à 17:38:10
n°723852
yeffries
Posté le 12-05-2004 à 19:52:12  profilanswer
 

Merci beaucoup foxcssfox !

n°723922
gm_superst​ar
Appelez-moi Super
Posté le 12-05-2004 à 21:45:15  profilanswer
 

Pourquoi passer par les sessions ? Surtout pour n'enregistrer qu'un seul paramètre autant mettre ce paramètre directement dans un cookie.


Message édité par gm_superstar le 12-05-2004 à 21:45:28

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°723924
Profil sup​primé
Posté le 12-05-2004 à 21:51:28  answer
 

voir dans les preference de l'user si tu a un systeme de membre :)
 
perso si le gars est un  
guest => theme par default
enregistré => $preference->theme
 
ca roule tout seul comme ca
 
et oui GM a raison, un cookie serait plus approprié je pense :)


Message édité par Profil supprimé le 12-05-2004 à 21:52:31
n°723927
gm_superst​ar
Appelez-moi Super
Posté le 12-05-2004 à 21:53:13  profilanswer
 

Bon sinon je poste la méthode employé pour la FAQ blabla@Prog qui est dans ma signature ( http://djailles.free.fr/hfr/prog/faq/ )
 
Le script se contente de récupérer les fichiers CSS qui sont dans le sous-répertoire css/ et de remplir tout seul le <select> avec les noms des fichiers
 
Si un nouveau style est sélectionné, le nom du style est posté et le cookie est mis à jour (c'est ce qui est fait au tout début).
 

Code :
  1. if (isset($_POST["selectedStyle"])) {
  2.   setcookie(style, $_POST["selectedStyle"]);
  3.   header("Location: ." );
  4. }
  5. $defaultStyle = (isset($_COOKIE["style"]) ? $_COOKIE["style"] : "default" );
  6. $css = array();
  7. if ($dir = @opendir("css" )) {
  8.   while($file = readdir($dir))
  9.     if ($file != "." && $file != ".." )
  10.       array_push($css, substr($file, 0, -4));
  11.   closedir($dir);
  12. } else {
  13.   die("Impossible d'ouvrir le répertoire \"css\" !" );
  14. }


 
Ici on crée l'élément <link> qui va bien pour insérer la feuille de style sélectionnée. Les autres feuilles de styles sont toujours disponibles en feuilles de style alternatives :
 

Code :
  1. foreach ($css as $v)
  2.   echo "    <link rel=\"" . (strcmp($v, $defaultStyle) == 0 ? "" : "alternate " ) . "stylesheet\" type=\"text/css\" href=\"css/$v.css\" media=\"screen\" title=\"$v\" />\n";


 
Le formulaire avec son <select> :
 

Code :
  1. <form id="style" method="post" action=".">
  2.         <div>Choisissez votre style :
  3.           <select name="selectedStyle" id="selectedStyle">
  4. <?
  5. foreach ($css as $v)
  6.   echo "            <option value=\"$v\"" . (strcmp($v, $defaultStyle) == 0 ? " selected=\"selected\"" : "" ) . ">$v</option>\n";
  7. ?>         
  8.           </select>
  9.           <input type="submit" value="OK" />
  10.         </div>
  11.       </form>


 
 
Et en bonus le JavaScript pour poster le formulaire dès qu'on change de style avec le <select> (pour pas avoir à appuyer sur OK)
 

Code :
  1. <script type="text/javascript">
  2.     <!--
  3.    
  4.     function sendStyle() {
  5.       document.forms[0].submit();
  6.     }
  7.    
  8.     function load() {
  9.       el = document.getElementById("selectedStyle" );
  10.      
  11.       if (el.addEventListener)
  12.         el.addEventListener("change", sendStyle, false);
  13.       else
  14.         el.attachEvent("onchange", sendStyle);
  15.     }
  16.    
  17.     //-->
  18.     </script>


Message édité par gm_superstar le 12-05-2004 à 21:56:11

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°723946
drasche
Posté le 12-05-2004 à 22:19:52  profilanswer
 

que voilà un sujet bien intéressant [:blueflag]
ça m'intéresse pour mon forum :ange:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°723965
pascal_
Posté le 12-05-2004 à 22:50:12  profilanswer
 

[:drapal]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  TUTORIEL COMPLET : plusieurs CSS au choix...

 

Sujets relatifs
[PHP] Upload photo + Galerie CSS XHTML [Résolu]Une CSS au choix en cliquant sur un bouton img....
choix dans une liste et affecter les cellulespetit pb de css surement : page qui s'affiche pas tjs en entier
Verilog, un tutoriel ?Aide sur les CSS
CSS et PHP : Quel est le probleme ? CSS : avoir des blocs (DIV) fixes quelques soit la taille de la page
CSS - comment regler probleme de bordure entre FIREFOX et IExplorer 6 
Plus de sujets relatifs à : TUTORIEL COMPLET : plusieurs CSS au choix...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR