2016-11-15 1 views
0

Je travaille actuellement sur un projet qui nécessite deux langues. Par exemple allemand (L = 0) et Leicht allemand (L = 1).TYPO3 multi-langue. L'URL revient à la valeur par défaut lorsqu'aucune traduction n'a été effectuée. Comment?

Mon but est, quand il y a une traduction disponible sur la page allemande à Leicht German, un bouton apparaîtra et redirigera l'utilisateur vers la langue allemande Leicht. Jusqu'ici tout va bien. Mais, quand vous êtes sur la version allemande de Leicht et que vous voulez passer à une autre page où aucune traduction allemande de Leicht n'est disponible, en cliquant sur le sous-menu et non sur le bouton, l'URL reste sur L = 1 et ça ne retourne pas à L = 0.

J'aimerais connaître vos connaissances à ce sujet car je suis à court d'idées.

Voici mon code:

config { 
     linkVars = L(0-1) 

     uniqueLinkVars = 1 

     defaultGetVars.L = 0 

     sys_language_uid = 0 

     sys_language_overlay = 1 

     language = de 

     locale_all = de-DE 
    } 



    [globalVar = GP:L = 1] 
    config { 
    sys_language_uid = 1 
    language = leichte Sprache 
    locale_all = de_DE.UTF-8 
    htmlTag_setParams = lang="ls" dir="ltr" class="no-js" } 
    [global] 

Voici ma liste où lorsque vous cliquez sur vous redirigez le Leicht allemand et en arrière.

lib.language = COA 
lib.language { 
20 = HMENU 
20 { 
special = language 
special.value = 0,1 
special.normalWhenNoLanguage = 0 
wrap = <ul class="languageMenu">|</ul> 
1 = TMENU 
1 { 
noBlur = 1 
NO = 1 
NO { 
linkWrap = <li>|</li> 
stdWrap.override = Deutsch || Leichte Sprache 
stdWrap { 
typolink { 
parameter.data = page:uid 
additionalParams = &L=0 || &L=1 
ATagParams = hreflang="de-DE" || hreflang="de-LS" 
addQueryString = 1 addQueryString.exclude = L,id,cHash,no_cache 
addQueryString.method = GET useCacheHash = 1 
no_cache = 0 
} 
} 
} 
ACT < .NO 
ACT.linkWrap = <li class="active">|</li> 
USERDEF1 < .NO 
USERDEF1 { 
linkWrap = <li class="text-muted">|</li> 
stdWrap.typolink > 
} 
} 
} 
} 

Ceci est le sous-menu où lorsque vous cliquez et pas de traduction est disponible, il devrait rediriger l'utilisateur vers la langue par défaut (L = 0)

lib.subnav = HMENU 
lib.subnav.entryLevel = 1 
lib.subnav { 
1 = TMENU 
1 { 
wrap = <ul class="side-nav">|</ul> 
noBlur = 1 
NO = 1 
NO { 
wrapItemAndSub = <li>|</li> 
ATagTitle.field = title 
typolink { 
parameter.data = page:uid 
additionalParams = &L=0 || &L=1 
ATagParams = hreflang="de-DE" || hreflang="de-LS" 
addQueryString = 1 addQueryString.exclude = L,id,cHash,no_cache 
addQueryString.method = GET 
useCacheHash = 1 
no_cache = 0 
} 
} 
ACT < .NO ACT { 
ATagParams = class="active" wrapItemAndSub = <li class="active">|</li> 
} 
} 

A ce stade, je n'ai rien d'autre à ajouter . Si vous avez besoin de plus de moi, n'hésitez pas à demander.

Merci à l'avance,

Aris

+0

pourquoi avez-vous attention à ce que l'url dit, c'est le comportement de TYPO3, il reste avec L = 1 sauf si sélectionné autrement mais sert la langue par défaut si aucune traduction disponible ... – webMan

Répondre

0

avez-vous essayé cela, laissez juste TYPO3 prendre soin du lien:

lib.subnav = COA 
lib.subnav { 
    10 = HMENU 
    10 { 
     entryLevel = 1 
     1 = TMENU 
     1 { 
      expAll = 1 
      wrap = <ul class="side-nav">|</ul> 
      noBlur = 1 
      NO = 1 
      NO { 
       wrapItemAndSub = <li>|</li> 
       ATagParams = title="{field:title}" 
       ATagParams.insertData = 1 
      } 
      ACT < .NO 
      ACT { 
       wrapItemAndSub = <li class="active">|</li> 
       ATagParams = class="active" 
      } 
     } 
    } 
} 
+0

non c'est pour le contenu. Pas pour l'URL. J'ai essayé mais ça n'a pas marché. J'aurais dû le mentionner, je suis désolé. –

+0

quelle version de typo3 utilisez-vous? c'est la première fois que je vois la langue définie dans un menu autre que le changement de langue ... vous avez essayé un sous-menu sans aucun des éléments de langue insérés, je fais beaucoup de multi-langues mais il est ajouté par typo3, cela pourrait soyez votre problème ... vous écrasez typo3 ... – webMan