Partage

Changer le design d'un clic

20 janvier 2006 à 18:49:08

Je voudrais savoir comment faire changer le skin du site juste en cliquant sur un lien. Et non pas aller dans affichage.
Certains sites le font et je trouve ça assez bien.

[Edit] Nyro Xeo > Titre bizarre (!) "design / skin > changer > lien" édité.

Vous êtes demandeur d'emploi ?
Sans diplôme post-bac ?

Devenez Développeur web junior

Je postule
Formation
en ligne
Financée
à 100%
20 janvier 2006 à 20:44:51

RAHHH du phpppp nooon je deteste.Et en prime du mysql avec base de donnée superrrr .....

ton truc javascript je ne comprends pas ou cliquer j'ai 2 liens au debut (c'est bon il fallait attendre je vais aller voir)

<a href="#" onclick="setActiveStyleSheet('default');
  return false;"
>
Style par défaut</a>
<a href="#" onclick="setActiveStyleSheet('Noir & Blanc');
  return false;"
>
Noir & Blanc</a>
<a href="#" onclick="setActiveStyleSheet('Textes Grande Taille');
  return false;"
>
Textes Grande Taille</a>
<a href="#" onclick="setActiveStyleSheet('Minimum');
  return false;"
>
Minimum</a>
<a href="#" onclick="setActiveStyleSheet('Explosion de couleurs');
  return false;"
>
Explosion de couleurs/a>


mais je ne comprends pas ce code
il est tout fait ? ou je met les liens de mes pages css dedans ? si oui je les met ou ?
23 janvier 2006 à 8:46:11

dsl petit up mon probleme n'est pas totalement resolu.
23 janvier 2006 à 8:53:33

Ça veut dire que, de tous les css que tu auras mis sur ton site en rel="alternate stylesheet", tu dois mettre dans les liens leurs titres.

Si le titre d'un de tes css alternatifs est 'Rose bonbon', tu dois écrire, là ou c'est écrit onclick="setActiveStyleSheet('Rose bonbon'), le titre de ton css.
23 janvier 2006 à 8:56:22

mais le nom se met dans le code alternate stylesheet
ou il se met quand on enregistre par exemple
rose_bonbon.css

edit: je parle du code css pas des liens pour afficher plusieurs skin
bon il faut que je parte je revien demain.

edit2: et je met le .css derriere ?
23 janvier 2006 à 9:07:17

<link rel="alternate stylesheet" type="text/css" media="screen" title="Rose Bonbon" href="/styles/rose_bonbon.css" />

Si tu observes bien attentivement, il y a le titre et le lien.

Le lien doit arriver directement sur la page donc LÀ il faut qu'il ait le même nom que le .css

Le titre lui, peut être vraiment de n'importe quoi. je pourrai même marquer
<link rel="alternate stylesheet" type="text/css" media="screen" title="Hard Core & Blood" href="/styles/rose_bonbon.css" />

Sans que ça change le .css

Là, le onclick="setActiveStyleSheet('Rose bonbon') se fit sur le titre de la stylesheet. Donc, pas de .css, sauf s'il y est dans le titre (À déconseiller ;) )

J'espère que c'est plus clair maintenant ;)
23 janvier 2006 à 14:33:01

salut tiens sur mon site tu peux tester http://toitot.vincent.free.fr

si ça t'interresse et si la mise en page de ton site est en css je te file mon code !! il est tres simple et utilise un chouya de GET, une pincé de session et un COOKIE quoique si tu utilises un cookie tu n'as pas besoin de SESSION

je mettrai mon code ce soir car la je suis au boulot.

++
Vincent.
24 janvier 2006 à 17:12:54

Je vais de suite tester Philias (pourquoi a deconseiller ?)

Non tes skins ne me plaisent pas ptitvincou, ils ne collent pas du tout avec mon site.
24 janvier 2006 à 18:30:38

ce n'est pas les skins que je te propose mais la methode pour passer d'un skin a l'autre !
je te detaille:

Au debut de ma page:

<?
//creation d'un cookie pour sauvegarder le skin
if (isset ($_GET['choix_skin']))
{
$timestamp_expire = time () + 365*24*3600; // fin du cookie dans un an
setcookie('style', $_GET['choix_skin'], $timestamp_expire);
}
// enregistrement du skin voulu par le visteur dans la session

if (isset ($_GET['choix_skin']))//si on a la varaible GET
{
$_SESSION['skin'] = $_GET['choix_skin'];// $_SESSION vaudra le GET
}
elseif(isset ($_COOKIE['style']))// sinon on verifie l'existence d'un cookie
{
$_SESSION['skin'] = $_COOKIE['style'];// et alors SESSION vaudra COOKIE
}
?>

<? // choix du skin
if ($_SESSION['skin']== 'cessna') //style du visiteur
{ ?>
<link rel="stylesheet" media="screen" type="text/css" title="normal" href="/cessna.css" />
<? }

elseif ($_SESSION['skin']== 'robin') //style du visiteur
{ ?>
<link rel="stylesheet" media="screen" type="text/css" title="normal" href="/robin.css" />
<? }

elseif ($_SESSION['skin']== 'robin_v') //style du visiteur
{ ?>
<link rel="stylesheet" media="screen" type="text/css" title="normal" href="/robin_v.css" />
<? }
 
else // style imposé par le site
{ ?>
<link rel="stylesheet" media="screen" type="text/css" title="normal" href="base.css" />
<? } ?>





En cliquant sur le lien (comme ci dessous) on envoit une variable GET qui contient le choix du skin qui est ensuite gardé dans un cookie ou dans la session et qui permet de chosir entre les differents css.
Il faut savoir que j'utilise tout le temps index.php et que mon contenu s'affiche grace à un switch. Mais si vous n'utiliser pas ce systeme vous pouvez toujours coller le code au dessus au tout debut de chacune de vos pages !

et voici le lien pour changer de style: ici une image:
<a href="../../index.php?choix_skin=robin"><img src="../../images/Themes/skin_robin.jpg" ></a>


Bon il est vrai que la je n'ai plus besoin des sessions car le site lit les cookies a chaque fois mais bon ça marche quand meme
24 janvier 2006 à 19:00:24

non je n'aime pas le php et le mysql

   <link rel="alternate stylesheet" media="screen" type="text/css" title="skin2" href="fond2.css" />


<a href="#" onclick="setActiveStyleSheet('skin2');
  return false;"
>
skin2</a><br />


et quand je clique dessus ça me ramene en haut de la page mais ça ne met pas le skin.
24 janvier 2006 à 22:22:20

Alors si tu n'aimes pas la puissance et la facilité ... d'autant que je n'utilise pas du tout sql !
++

24 janvier 2006 à 22:31:02

ach ? mais je n'ai rien compris au code je met quoi ou ? je n'ai pas encore bien appris j'ai juste survolé la premiere leçon
24 janvier 2006 à 22:57:11

ah bah te reste plus qu'a bosser !

++
25 janvier 2006 à 10:46:26

Citation : El GreeK

Style Switcher ^^



Salut,

Personnellement, j'utilise cela, je ne ralais jamais ;)
Tout va bien comme que je pensais avant de commencer ;)

C'est assez simple...
25 janvier 2006 à 14:25:58

Bon je vais essayer pour tester voir si je comprends quelquechose ...

Changer le design d'un clic

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
  • Editeur
  • Markdown