Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/01/2007, 12h32   #1
Membre expérimenté
 
Avatar de Strix
 
Inscription : novembre 2006
Messages : 632
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 632
Points : 516
Points : 516
Par défaut Appel de CSS via PHP après choix de langue

Bonjour.
Je suis en train de traduire mon site.
Pour le texte pas de soucis, j'appelle les fichiers langues via
Code PHP :
1
2
3
4
5
6
7
8
9
10
11
12
<?php
 
	 if ($_GET['lang']=='fr') {
	 include('lang/fr.php');
	 } 	 
	 else if ($_GET['lang']=='en') {
	 include('lang/en.php');
 	}	 
        else {
        include('lang/fr.php');
        }
?>

Mon soucis est que mon menu est composé d'images comprises dans mon CSS.
Code CSS :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#menup {
	width:150px;
	height:385px;
	float: left;
	list-style-type: none; 
}
#menup ul {
	list-style-type: none; 
}
 #m1 a, #m2 a, #m3 a, #m4 a, #m5 a, #m6 a {
	display: block;
	width: 150px;
	height: 41px;
}
#m1 a {
background-image: url(../medias/menu/accueil2.gif);
}
#m1 a#current, #m1 a:hover {
background-image: url(../medias/menu/accueil.gif);
}
#m2 a {
background-image: url(../medias/menu/portfolio2.gif);
}
#m2 a#current, #m2 a:hover {
background-image: url(../medias/menu/portfolio.gif);
}
#m3 a {
background-image: url(../medias/menu/services2.gif);
}
Est-il possible, par le choix de la langue, d'appeler un CSS précis, comme menufr.css ?

Merci d'avance
Strix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 13h00   #2
Membre éclairé
 
Avatar de Huntress
 
Inscription : août 2004
Messages : 454
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 454
Points : 339
Points : 339
Dans ta balise link dédiée aux langues, tu fais un echo du fichier css requis, dont tu construits le nom à l'aide de ton paramètre GET... nan ?
__________________

Règle n°1 du forum francophone : Parler le français...
Pas de question technique par MP, le forum est fait pour çà, merci.
Huntress est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 13h04   #3
Membre expérimenté
 
Avatar de Strix
 
Inscription : novembre 2006
Messages : 632
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 632
Points : 516
Points : 516
Citation:
Envoyé par Huntress
Dans ta balise link dédiée aux langues, tu fais un echo du fichier css requis, dont tu construits le nom à l'aide de ton paramètre GET... nan ?
Heu, ok Rien compris...

Je suis pas un pro en php, je démarre donc là j'ai pas compris. Sorry
Strix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 13h04   #4
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
plusieurs solutions :

1- ton fichier css est fourni par php, du coup tu connais la langue via la session :
Code html :
<link rel="stylesheet" href="/styles/style.css.php" />
Code css :
1
2
3
4
5
...
#m1 a {
background-image: url(../<?php echo $lang ?>/medias/menu/accueil2.gif);
}
...

2- tu un fichier css par langue :
Code css :
1
2
3
4
5
...
#m1 a {
background-image: url(../en/medias/menu/accueil2.gif);
}
...
Code css :
1
2
3
4
5
...
#m1 a {
background-image: url(../fr/medias/menu/accueil2.gif);
}
...
Code php :
<link rel="stylesheet" href="/styles/<?php echo $lang ?>/style.css.php" />
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 13h19   #5
Membre expérimenté
 
Avatar de Strix
 
Inscription : novembre 2006
Messages : 632
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 632
Points : 516
Points : 516
Citation:
Envoyé par Mr N.
Code php :
<link rel="stylesheet" href="/styles/<?php echo $lang ?>/style.css.php" />
Pourquoi style.css.php ?

Voilà comment se présente mon php langue :
Code :
1
2
3
4
5
6
7
8
9
10
<?php
 // index.php
  define('opt', 'Site optimis&eacute;');
  define('val', ' Validations W3C');
 
  // portfolio.php
  define('info', 'Infographie');
  define('photo', 'Photographie');
  define('web', 'Webdesign');
?>
Strix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 13h26   #6
Membre éclairé
 
Avatar de Huntress
 
Inscription : août 2004
Messages : 454
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 454
Points : 339
Points : 339
voilà Mr N. a fait la traduction de ce que je te disais.

A mon avis le .php est de trop c'est tout.
__________________

Règle n°1 du forum francophone : Parler le français...
Pas de question technique par MP, le forum est fait pour çà, merci.
Huntress est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 13h32   #7
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Le .php, c'est pour que apache interprete le fichier via php au lieu de la balancer comme une feuille de style traditionnelle.
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 13h53   #8
Membre éclairé
 
Avatar de Huntress
 
Inscription : août 2004
Messages : 454
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 454
Points : 339
Points : 339
Z'avais pas vu le php dans la feuille de style
__________________

Règle n°1 du forum francophone : Parler le français...
Pas de question technique par MP, le forum est fait pour çà, merci.
Huntress est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 13h53   #9
Membre expérimenté
 
Avatar de Strix
 
Inscription : novembre 2006
Messages : 632
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 632
Points : 516
Points : 516
Bon le chemin n'est pas résolu...

Code :
<link href="CSS/<?php echo $lang ?>/menu.css.php" rel="stylesheet" type="text/css" />
mais rien ne se passe !
Strix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 13h59   #10
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Gné? le chemin ? quel chemin ?
C'est sur que les solutions que nous t'avons proposées ne sont que des exemples.
A toi de les adapter à ton environnement...
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 14h00   #11
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Qui affiche ce link ?
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 14h02   #12
Membre expérimenté
 
Avatar de Strix
 
Inscription : novembre 2006
Messages : 632
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 632
Points : 516
Points : 516
Citation:
Envoyé par Mr N.
Qui affiche ce link ?
Ben je l'adapte à mon site le link
Strix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 14h03   #13
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
La ligne de code que tu as collée, le <link machinchose />, se trouve dans quel fichier ?
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 14h04   #14
Membre expérimenté
 
Avatar de Strix
 
Inscription : novembre 2006
Messages : 632
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 632
Points : 516
Points : 516
Citation:
Envoyé par Mr N.
La ligne de code que tu as collée, le <link machinchose />, se trouve dans quel fichier ?
pour l'instant dans mon fichier accueil.php
Strix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 14h07   #15
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
et qu'est-ce qui a été généré ("afficher la source" dans ton navigateur) ?
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 14h09   #16
Membre expérimenté
 
Avatar de Strix
 
Inscription : novembre 2006
Messages : 632
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 632
Points : 516
Points : 516
le résultat : href="CSS//menu.css"
Strix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 14h14   #17
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
ben c'est que $lang est vide. A toi de l'initialiser à la bonne valeur en fonction des préférences de l'utilisateur
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 14h15   #18
Membre expérimenté
 
Avatar de Strix
 
Inscription : novembre 2006
Messages : 632
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 632
Points : 516
Points : 516
Pourquoi est-ce que je me suis lancé là-dedans...

Et pour faire ça faut encore créer 50 fichiers ?
Strix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 14h20   #19
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Quels fichiers ?
Si tu supporte 50 langues, il faudra créer 50 variations de la meme image, 50 variations de chaque chaine de caractères affichées...
Et si tu optes pour la solution qui te parait la plus simple au premier regard, il te faudra créer 50 feuilles de styles différentes... Sinon tu n'en a qu'une seule, mais il faut quelle soit interpreté par php... et donc gérer les sessions.
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2007, 14h25   #20
Membre expérimenté
 
Avatar de Strix
 
Inscription : novembre 2006
Messages : 632
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 632
Points : 516
Points : 516
Citation:
Envoyé par Mr N.
Quels fichiers ?
Si tu supporte 50 langues, il faudra créer 50 variations de la meme image, 50 variations de chaque chaine de caractères affichées...
Et si tu optes pour la solution qui te parait la plus simple au premier regard, il te faudra créer 50 feuilles de styles différentes... Sinon tu n'en a qu'une seule, mais il faut quelle soit interpreté par php... et donc gérer les sessions.
Je n'ai que 3 langues (fr/en/de).

Ce que je ne comprends pas c'est pourquoi PHP ne récupère pas le lang pour le chemin alor que pour le texte ça marche bien
Strix est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h01.


 
 
 
 
Partenaires

Hébergement Web