bonjour

j'ai utilisé la méthode styleswitcher php

mise à part la fonction include je ne comprend pas grand chose en php

cela dit j'ai quand même tant bien que mal réussi à adapter ce tuto à mon site (pas encore en ligne, je le teste avec easy php 2)

comme j'aime bien me compliquer la vie je voudrais remplacer mes liens (style1, style2 ...) par une liste déroulante avec un bouton (ok)

donc dans mon formulaire j'ai mis ça




<form action="styles/styleswitcher.inc.php" method="get">

 <fieldset>
   <legend>Choisissez un style</legend>
   <select name="style">
    <option value=<?php echo $actuel; ?>?style=defaut>Style par d&eacute;faut</option>



mais bon ça marche pas du tout (undefined variable ...)

le "<?php echo $actuel; ?>?style=defaut>Style par d&eacute;faut</option>" etant un copier coller de ce qu'il y avait dans le lien qui permet de changer de style dans la version originale du tuto

si quelqu'un pouvais m'aider svp
Modifié par scott54 (17 Oct 2008 - 14:56)
Salut,

L'ancien tutoriel de styleswitcher était en menu déroulant, si mes souvenirs sont bons, mais cela a du être abandonné pour des questions d'ergonomie défaillante.
Est-tu SÛR que c'est le meilleur choix à faire pour ton site ? Smiley cligne

Quoi qu'il en soit, ta liste déroulante aura besoin d'une variable qui corresponde au style, en l'occurence ici, "défaut". Pour que cela fonctionne avec une liste déroulante il faudra que l'appel soit géré par le script qui va avec. Smiley cligne
bonsoir et merci pour la réponse

en fait étant donné que je ne connais pas grand chose à php je pense finalement abandonner l'idée du menu de formulaire.

je me suis recentré sur 3 styles (par défaut fond blanc, par défaut fond noir, contraste élevé, + un vide)

mon but au départ était de pouvoir au fil de mon apprentissage de css rajouter des styles sans avoir une liste de trois kilomètres sur l'écran
j'ai bien pensé au menu déroulant en css mais d'après ce que je lis ici ou là ça pose pas mal de problèmes ergonomiques et au niveau de l'accessibilité (et comme je mise énormément sur l'accessibilité pour ce site je n'ai pas envie de tout casser pour faire mumuse avec les styles)

j'avais trouvé sur un autre site un styleswitcher par liste déroulante de formulaire mais honnêtement ce n'est pas de mon niveau

pour le moment je me dépatouille avec l'accessibilité, ensuite j'essaierai de faire une feuille de style pour imprimante

un jour peut être (si j'arrive à comprendre quelque chose à la programmation ...)


en tout cas merci pour tout, il y a encore un mois je faisais de la mise en page par tableau avec tous les paramètre dans le code html, là, grace à vos conseils, le site que je suis en train de faire sera xhtml strict avec feuilles de styles
je me suis mis depuis hier à php grâce au site
http://www.siteduzero.com

du coup j'ai appris comment récuperer une variable d'une page à l'autre

et donc j'ai pu adapter le tuto styleswitcher dans un formulaire

pour tous ceux que cela intéresse il suffit de faire deux modifications :

- la première dans le fichier styleswitcher.inc.php :
remplacer simplement :
$new_style = (isset($_GET['style'])) ? $_GET['style'] : '';

par
$new_style = (isset($_POST['style'])) ? $_POST['style'] : '';



- ensuite dans la page appelant les styles remplacez votre <ul> par un formulaire

<form action="../<?php echo $actuel; ?>" method="post">

<p>choisissez un style</p> 
<p>
<select name="style">
		<option value="defaut">style par d&eacute;faut</option>
		<option value="menu_gauche">&eacute;ducation nationale</option>
		<option value="contraste">contrast&eacute;</option>
		<option value="couleur">couleur</option>
		<option value="sans_style">sans style</option>
</select>
</p>
<p>
<input type="submit" value="Valider" />
</p>
</form>


où ../<?php echo $actuel; ?> indique votre page actuelle (à condition que vous ayez placé styleswitcher.inc.php dans un dossier "styles"
si il est placé au même endrois que vos pages web changez simplement le "../" en concéquence
et où "?style=defaut" est remplacé par les valeur de votre liste déroulante "<option value="defaut">"

à vous la centaine de styles différents par site Smiley biggol

< edit > petite modification du soir pour une compatibilité xhtml 1.0 stric Smiley langue
Modifié par scott54 (17 Oct 2008 - 20:38)