Bonjour tout le monde!
Je viens de lire le fameux tutoriel Faire un Style switcher (changement d'habillage) en PHP qui me semble parfait pour une utilisation normale!

Je suis en train de coder un site multilingue, et certaines images de fond changeraient en fonction de la langue.
Par exemple: la bannière du site

style1: image de fond avec drapeau anglais
style1: image de fond avec drapeau français

style2: image de fond avec comme texte "hello world!"
style2: image de fond avec comme texte "hello world aussi!"

Ce changement de langue va être géré pour tout le contenu du site en php, avec un GET dans l'adresse du site.

Je voudrais donc savoir comment m'y prendre pour gérer à la fois le POST du css + récupérer le GET (sil existe, et si non en mettre un par défaut) et l'insérer dans le chemin d'accès du css!

Avec un shéma de site comme celui ci:
a écrit :

[Site]
|__[CSS]__ Smiley fr __ Smiley style1 __style1.css
| |_ Smiley en __ Smiley style1 __style1.css
|
|_ Smiley images
|_[etc...]
|
index.php

Je ne sais pas alors si le placement du GET toi se faire dans le code du tutorial, ou bien dans le head, en y insérant du code php ici:

<link rel="stylesheet" media="screen" type="text/css" href="/<?php echo $_GET['lang'] ?>/style1/style.css" />

Merci de votre aide!


edit: je viens de me rendre compte que pour la langue, je ferai mieux de combiner les sessions et cookies plutot que d'utiliser un GET... (enfin, si vous pensez que non, dites le moi!)
Vous avez une idée de comment faire en passant par les SESSIONS?
Et pouvoir changer de pays et de skin sans que ca altère l'un ou l'autre?
Merci encore!
Modifié par Ariakan (19 Jul 2006 - 04:56)
Ariakan a écrit :
edit: je viens de me rendre compte que pour la langue, je ferai mieux de combiner les sessions et cookies plutot que d'utiliser un GET... (enfin, si vous pensez que non, dites le moi!)
Vous avez une idée de comment faire en passant par les SESSIONS?
Et pouvoir changer de pays et de skin sans que ca altère l'un ou l'autre?
Merci encore!


Je cherchais un lang-switcher basé sur autre chose, mais je suis tombé sur ton (vieux) post.
Si tu le lis encore, voilà une bidouille possible:

session_start();

// Lang switch
if(isset($_GET['lang'])) {$_SESSION['langage']= $_GET['lang'];}
else { if((isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])&&(!isset($_SESSION['langage']))))
{ $Langue= explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']);
 $_SESSION['langage']= strtolower(substr(chop($Langue[0]),0,2));
 header("Location: index.php?lang={$_SESSION['langage']}");}	}


Et tu appelles ton CSS avec:

<link rel="stylesheet" media="screen" type="text/css" href="/<? echo $_SESSION['langage']; ?>/style1/style.css" />


Par défaut, si le $lang existe, on stocke sa valeur en session, sinon, on prend la langue par défaut du navigateur, qu'on stocke en session et on redirige via le header.
Ainsi, ta variable $lang existe toujours.