|
Sylvain 48
| Posté : 21-03-2015 15:23
Salut, comme beaucoup j'aimerais changer de langue en un seul clic mais en restant sur la même page.
Dans un bloc je me mets des icônes de drapeau:
"[french]<p><a href="/images/flags/english.png"><img style="float: left;" src="/images/flags/english.png" alt="" /></a></p>[/french][english]<p><a href="/images/flags/french.png"><img style="float: left;" src="/images/flags/french.png" alt="" /></a></p>[/english]
dans le but de renvoyer à l'adresse courante en y ajoutant: "&choice_user_language=english" ou "&choice_user_language=french"
Ma question est, où je trouve la variable contenant l'url de la page actuellement affichée?
Merci. |  Profil
|
|
jpb 2784
| Posté : 21-03-2015 17:13
oui il y a des solutions le mieux est que tu utilise ceci ...
//==> multilangue
// choix de la langue sans redirection sur index, dispo que si la requete n'est p as post !
$req= $_SERVER['QUERY_STRING'];
$req1='';
$sep='';
$menlang='';
$user_language = $_COOKIE["user_language"];
if ($req != "")
{
if (preg_match("#(choice_user_language=([^&]*&))#",$ req,$res))
{$req1= preg_replace("#(choice_user_language=([^&]*& ))#","",$req);$sep="&";}
if (preg_match("#(choice_user_language=([^&]*))#",$req,$ res))
{$req1= preg_replace("#(choice_user_language=([^&]*))#", "",$req);$sep="";}
else
{ $sep="&";$req1=$req;}
}
switch ($res[0])
{
case "choice_user_language=french": $user_l anguage ='french';
break;
case "choice_user_language=english": $user_ language ='english';
break;
case "choice_user_language=chinese": $user_ language ='chinese';
break;
default:
$user_language;
break;
}
switch ($user_language)
{
case "french":
$menlang ='<a hr ef="'.$_SERVER['PHP_SELF'].'?choice_user_language=chinese'.$sep.$req1.'" t itle="选择语言"><sub><font& nbsp;size="5" face="STFangsong">中文</font>&l t;/sub></a> <a href="'.$_SERVER['PHP_SELF'].'?choice_ user_language=english'.$sep.$req1.'" title="Choose your language ">English</a>';
break;
case "english":
$menlang ='<a hr ef="'.$_SERVER['PHP_SELF'].'?choice_user_language=french'.$sep.$req1.'" ti tle="Choisissez votre langue">Français</a>  ;<a href="'.$_SERVER['PHP_SELF'].'?choice_user_language=chinese'.$sep.$ req1.'" title="选择语言"><su b><font size="5" face="STFangsong">中文& lt;/font></sub></a>';
break;
case "chinese":
$menlang ='<a hr ef="'.$_SERVER['PHP_SELF'].'?choice_user_language=french'.$sep.$req1.'" ti tle="Choisissez votre langue">Français</a>  ;<a href="'.$_SERVER['PHP_SELF'].'?choice_user_language=english'.$sep.$ req1.'" title="Choose your language">English</a>';
break;   ;
default:
$menlang ='';
break;
}
if ($_SERVER['REQUEST_METHOD'] == "POST") $menlang = '';
//<== mutltilangue
moi j'utilise cela dans mon header html mais tu pourra l'adapter pour le mettre dans un bloc ...( en respectant bien sur le contexte spécifique de codage pour les blocs) ...
et l'adapter ce code à tes drapeaux ... et dans ton flux html tu écris la variable menlang |  Profil www
|
|
Sylvain 48
| Posté : 21-03-2015 18:00
Merci pour ta réponse rapide.
Je vais bûcher ton code pour le comprendre avant de l'utiliser.
Je te tiens au courrant.
sylvain. |  Profil
|
|
jpb 2784
| Posté : 21-03-2015 18:12
pas de prob .. suis en ligne encore un moment |  Profil www
|
|
Sylvain 48
| Posté : 21-03-2015 19:55
Bon, Je suis nouveau ici alors je ne comprends pas tout. En plus je n'ai jamais fait de PHP.
Je ne comprends pas tout à ton code mais je l'ai débarrassé de la partie chinoise.
Ce que je ne vois pas c'est où je mets le code et comment j'utilise menlang.
Donc il n'y a pas de moyen simple pour avoir l'adresse de la page actuelle?
Si tu veux voir le premier balbutiement de mon site:
http://busmuli.chez.com |  Profil
|
|
jpb 2784
| Posté : 21-03-2015 20:19
si tu veux faire un essai alors fait le dans le header.html de ton theme ...
tu ouvre une balise php colle le code et ferme la balise ...
ensuite la ou tu veux ecrire ton micro menu lang tu ouvre une autre balise php comme ceci
<?php echo $menlang; ?>
bon si tu n'a jamais codé avec php ca va être un peu laborieux ...
|  Profil www
|
|
Sylvain 48
| Posté : 21-03-2015 21:02
Non, pas de problème. J'ai pratiqué le fortan, des basics, python, html, le bash et même le dos. et d'autre langages que j'ai oublié. |  Profil
|
|
jpb 2784
| Posté : 21-03-2015 21:34
bo ok tu as vu le principe du code ?? apres tu n'a qu'a remplacer le texte par tes images de drapeaux.. |  Profil www
|
|
jpb 2784
| Posté : 21-03-2015 21:36
j'ai été voir ton site |  Profil www
|
|
Sylvain 48
| |
jpb 2784
| Posté : 21-03-2015 22:15
il faut que tu code en dehors de npds ?... |  Profil www
|
|
jpb 2784
| Posté : 21-03-2015 22:16
déjà il faut bien que tu relise aussi le code que tu vas coller car ici dans le forum il est détérioré ... |  Profil www
|
|
jpb 2784
| Posté : 21-03-2015 22:17
as tu un skype pu autre que je te donne un code propre
|  Profil www
|
|
Sylvain 48
| Posté : 21-03-2015 22:26
Je t'ai envoyé mon email en MP. |  Profil
|
|
jpb 2784
| Posté : 21-03-2015 22:45
je t'ai envoyer le code a ton adresse avec les majuscules ???? |  Profil www
|
|
Aller à la page : [ 1 | 2 ] |