8791 sujets

Développement web côté serveur, CMS

Bonjour,

Je suis en train de gérer 2 langues sur joomla avec joomfish.
Le soucis c'est que j'ai un design différent pour la langue FR et DE (allemand).

J'ai fais un script php qui permet d'analyser l'url et de récupérer la variable "&lang=de":


$adresse=$_GET['lang'];
	if ($adresse=="de"){
		echo("
			#ja-container2 ul.menu li a span {
                        ....
			}
		");
	}


Tout fonctionne bien mais une fois arrivé sur la home page (ou frontpage) de joomla, il cache ces informations (DE ou FR) du coup mon code ne fonctionne plus.

exemple d'url normal: http://www.monsite.ch/index.php? ... &lang=de
exemple d'url frontpage: http://www.monsite.ch/

mon site ici
Le soucis se voit si on reviens sur la première page en DE.
(cliquez sur Kontakt puis cliquez sur Startseite)

Comment récupérer ou savoir si on est toujours en DE ou FR.
Y a-t-il des informations dans un cache ? cookie ?

Merci beaucoup de consacrer du temps a mon problème !

Charly
Modifié par Chum (01 Apr 2010 - 09:34)
bon malheureusement je ne connais pas vraiment joomla.

je pose des questions pour éclaircir le pb.

c'est le décalage vers la droite du menu le problème si je comprends bien?

et il y a un mécanisme qui t'empêches de passer en get le parametre de langue sur la page d'acceuil?


tu peux essayer de faire un
 
 echo '<pre>'.print_r($_SESSION,true).'</pre>';
 echo '<pre>'.print_r($_COOKIE,true).'</pre>';


normalement s'il y a quelque chose en session ou en cookie tu devrais le voir apparaitre.

tu pourrais sinon mettre l'info toi-même en session et la changer quand tu changes de langues.

mais sur joomla et encore pire joomfish que je ne connais pas du tout
je ne peux pas te dire exactement.

Pascal
Modifié par CPascal (01 Apr 2010 - 09:42)
Bonjour !

Merci CPascal ! Dans les cookie j'obtiens:


Array
(
    [jfcookie] => Array
        (
            [ lang ] => de // sans espace entre [ ] sinon ils s'affichent pas... ???
        )

    [ja_purity_tpl] => ja_purity
    [0ddb1c56052ba4bb7b12bbb3c50830fa] => d866ea2ce8372c07d89f7ef96f4d952d
)


J'ai programmé:


$langue = $_COOKIE['lang'];
	if(!empty($langue)){
		echo '<pre>Valeur du cookie=>'.$langue.'</pre>';
	}


Mais il me sort rien... comment j'accède a la première entrée ou l'entrée Smiley lang du tableau jfcookie ?

Merci beaucoup !

Charly
Modifié par Chum (01 Apr 2010 - 09:07)
apparemment tu as un tableau dans le tableau.

y a pas de clé au sous tableau.
je suppose qu'il est indexé a zéro

c'est le contenu de $_COOKIE ce que tu affiches?

essai

$langue = $_COOKIE[0]['lang'];

bizarre cela dit

tu n'as pu un autre mot qui a disparu comme le lang. c'est des bizarreries dût a la mise en forme.
Modifié par CPascal (01 Apr 2010 - 09:18)
Hello hello !

Non rien ne s'affiche... voila mon code:


$cookie = $_COOKIE[0]['lang'];
	if(!empty($cookie)){
		echo '<pre>Valeur du cookie=>'.$cookie.'</pre>';
	}


Moi ce que je voudrais afficher dans ma variable $cookie (je viens de la changée) c'est le "fr" ou "de". qui se trouve dans la clé [ lang ]
upload/11894-Capturedec.png

Voila une copie d'écran de ce qu'affiche:

echo '<pre>'.print_r($_COOKIE,true).'</pre>';
Tu sais que je t'aime toi !!!!

Merci beaucoup tout fonctionne parfaitement !

Merci Alsacréations d'existé et merci CPascal pour tes réponses !!!

A très bientot ! sujet Résolu !