Menu langues : conservation des variables (get / post)

Un article de Typo3 CMS / Documentation Typo3 / Support Typo3.

Aller à : Navigation, Rechercher

[modifier] En utilisant le HMENU special=language, on dispose d'un paramètre supplémentaire qui permet de conserver les variables post et get dans les liens générés.

Cette propriété est en fait une propriété de typolink disponible pour ce type de menu uniquement.

Voici la référence (TS ref - typolink) (http://typo3.org/documentation/document-library/references/doc_core_tsref/4.1.0/view/5/8/):

addQueryString (boolean)

Add the QUERY_STRING to the start of the link. Notice that this does not check for any duplicate parameters!
This is not a problem (only the last parameter of the same name will be applied), but enable "config.uniqueLinkVars" if you still don't like it.


.method: 
If set to to GET or POST then then the parsed query arguments (GET or POST data) will be used.
This settings are useful if you use URL processing extensions like Real URL, which translate part of the path into query arguments.

It's also possible to get both, POST and GET data, on setting this to

"POST,GET" or "GET,POST". The last method in this sequence takes precedence and overwrites the parts that are also present for the first


.exclude:
List of query arguments to exclude from the link (eg L or cHash).


[modifier] Exemple d'utilisation

Voici un exemple de menu langues (les liens sont faits sur des images) :

// Drapeaux langues
lib.flags= HMENU
lib.flags.addQueryString=1
lib.flags.addQueryString.exclude=L,cHash
lib.flags.special=language
lib.flags.special.value = 0,1
lib.flags.1=TMENU
lib.flags.1.noBlur=1
lib.flags.1.NO {
stdWrap.field=none
stdWrap.innerWrap=<img src="path_to/flagFR.gif" alt="Français" /> || <img src="path_to/flagEN.gif" alt="English" />
}

[modifier] Explication

addQueryString=1 : reprend tous les paramètres get + post

addQueryString.exclude=L,cHash : ces paramètres ne seront pas repris dans les URL générées :

  • le paramètre L est géré par ce menu et cela donnerait deux instructions contradictoires (si on doit changer de langue on ne force pas la langue courante)
  • cHash : ce paramètre doit rester unique pour chaque page

method : ce paramètre est optionnel, il permet de limiter la récupération de variables soit aux variables get soit aux variables post, soit d'en gérer la priorité en cas de doublon en définissant l'ordre comme il est précisé plus haut dans la doc.(exemple : addQueryString.method = GET,POST)


Gestion des doublons : pour que l'URL ne comporte pas plusieurs fois les mêmes paramètres, il est conseillé de paramétrer la CONFIG comme ceci : config.uniqueLinkVars=1 dans le setup principal.