Categories > TinyButStrong general (FR) >

Récupération d'url

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: bruno
Date: 2011-05-17
Time: 16:47

Récupération d'url

Bonjour,

je cherche un moyen de charger différentes langues sur mon site par le biais de drapeaux cliquables:
- drapeau français, un clic on arrive sur la page en français
- drapeau allemand, un clic on arrive sur la page en allemand
- ...

j'ai récupéré le code suivant:
  $Url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
je l'ai testé sur une page php hors TBS et j'arrive effectivement à récupérer l'url de la page en question.
Par contre, je ne sais pas comment utiliser cette portion de code pour l'intégrer à mon modèle TBS.

j'essaye de faire un lien du type:
<a href=  $Url&lang=fr;>mon lien</a>
$Url étant la variable définie plus haut.

du coup, j'ai tenté un truc dans le genre:
<ul id="switch">
        <li>
        <?php
        echo ("
          <a href=\".\$_SERVER[\'HTTP_HOST\'].\$_SERVER[\'REQUEST_URI\'].&lang=fr\">
          <img src=\"images/design/francais.jpg\" style=\"border:1px solid #ffffff;\">
          </a>
");
        ?>
        </li>
</ul>

j'suis une vraie quiche, j'y capte rien dans la concaténation.... je teste sans succès jusqu'à présent.

Une âme charitable pour m'aiguiller ?

D'avance merci

Bruno
By: Skrol29
Date: 2011-05-18
Time: 12:50

Re: Récupération d'url

Bonjour,

Ton modèle ne peut pas contenir de code PHP. Il serait traité comme un contenu textuel pas TBS, mais en aucun cas TBS n'exécute le code qu'on a pu y placer.
Tu dois donc passer par un champ TBS pour afficher $Url, par exemple : [onshow.Url;htmlconv=no]

Ceci-dit ta manière de forcer la langue risque de ne pas marcher car il me semble que si tu clique sur le bouton FR oui le bouton EN, tu aura au finale un URL se terminant par "&lan=fr&lang=en".
By: bruno
Date: 2011-05-18
Time: 15:41

Re: Récupération d'url

Bonjour skrol,
je vais essayer d'utiliser la methode onshow comme tu me l'as conseillé (en fait je l'avais vu dans le manuel mais je n'ai pas réussi à l'utiliser... je vais retenter le coup.

Concernant le changement de langue en fait, j'ai conçut mon script de manière à ce que la langue du navigateur soit automatiquement détectée.
Si la langue est le français, le site se charge en français, si c'est l'allemand, le site se charge en allemand et dans toutes les autres langues, le site se charge en anglais.
J'ai parallèlement j'ai crée une variable $_SESSION qui s'active au clic (récupère les données via l'action $_GET). Si l'on clique sur le drapeau d'une lanque, la variable retient la valeur de cette langue et la réutilise sur l'ensemble du site.
Du coup, je dois mettre des urls en dur au niveau de mes drapeaux, enfin, un truc du genre


<a href="[var.url]?lang=fr

pour l'allemand ce sera:

<a href="[var.url]?lang=de

et pour l'anglais :


<a href="[var.url]?lang=en

ainsi ma variable $_SESSION saura quelle valeur de langue appliquer en fonction du drapeau sur lequel on aura cliqué ;)
Actuellement, ça marche, mais le lien sur les drapeaux ne revoit que sur la page d'accueil, or, ce que je veux c'est qu'au clic sur un drapeau, on retombe sur la même page traduite dans la langue du drapeau choisi.

Merci encore pour tes conseils, je te tiens au courant de mon avancement ;)
By: bruno
Date: 2011-05-20
Time: 08:37

Re: Récupération d'url

Hello skrol,

en relisant tranquillement la doc j'ai finalement réussi à utiliser la methode onshow du premier coup. J'ai crée ma variable $Url que j'utilise avec onshow dans mon modèle, mais il m'arrive un truc bizarre.
Dans mon modèle je crée un lien du genre:
<a href="[onshow.Url">mon lien</a>

mais au lieu de m'afficher l'url du genre: http://localhost/monsite/ ça me met http://localhost/monsite/localhost/monsite/

j'ai donc testé ma requête avec un fichier vierge placé à la racine du dossier de mon site et là, ça 'affiche bien: http://localhost/monsite/

J'ai du mal à comprendre ce phénomène, d'autant qu'après vérification si je fais un lien vide du genre:
<a href="">un lien vide</a>

l'url retournée est: http://localhost/monsite

ce qui est curieux, un lien vide ne devrait logiquement rien retourner... serait-ce un phénomène du au package wamp server utilisé en local ? Dans le doute, je vais tester le site sur serveur, on verra bien ;)