Changer de langue sur un clic sans passer par le menu_lang
dans le contexte $forcer_lang=true Le #MENU_LANG permet d’afficher un selecteur de langue sous forme de menu select (dropmenu) qui est en fait un formulaire qui permet de poser un cookie lang.
cette contribution permet d’avoir la même fonctionnalité sur un simple lien hypertexte grâce à jquery
Mise en place squelette
- on affiche
#MENU_LANGpour avoir le formulaire (on le masque dynamiquement - on crée des liens hypertextes en indiquant le suffixe de langue dans l’attribut rel et on leur applique la classe cookie_lang
syntaxe
exemple
et on appelle une petite fonction javascript jquery non obstructif
Erational / mai 2008 / sur spip 192d et $forcer_lang=true
Alexandra mai 2008
On peut aussi utiliser la méthode de kent1 en full SPIP et sans js :
[(#URL_ACTION{'converser'}|parametre_url{var_lang,[(#ENV{lang}|=={fr}|?{'en','fr'})]}|parametre_url{redirect,#SELF})]Ca fait la même chose mais en une seule ligne ;)
Aurais tu la référence de ce code ? il ne fonctionne pas et il n’est documenté nul part.. s’agit il de #URL_ACTION_AUTEUR. merci
Alexandra octobre 2008 En fait il fonctionne en SVN uniquement. Il est parfait pour deux langues, après y a risque que se soit plus aléatoire. Pour un petit lien cf : http://www.annelauremaison.com/sque...
Sinon un post et une méthode très interessante de Fil postée sur la la liste SPIP-EN http://article.gmane.org/gmane.comp...
<BOUCLE_langues(ARTICLES){fusion lang}{par lang}>
<a rel="alternate" hreflang="#LANG"
href="[(#REM|sinon{spip.php?action=cookie}|parametre_url{var_lang,#LANG})]&url=<?php
echo urlencode(self()); ?>">[(#LANG|traduire_nom_langue)]</a>
</BOUCLE_langues>