2016-11-15 58 views
0

我目前正在研究一個需要兩種語言的項目。例如德語(L = 0)和萊赫特德語(L = 1)。TYPO3多語言。當沒有翻譯時,URL返回默認值。如何?

我的目標是,當德語頁面上有翻譯可用時,會出現一個按鈕,並將用戶重定向到Leicht德語。迄今爲止它的效果非常好。

但是,如果您使用的是德語版Leicht,並且您想移動到另一個沒有Leicht德語翻譯的頁面,則通過單擊子菜單而不是按鈕本身,URL會保留在L = 1和它不會回到L = 0。

我想你在這個問題上的知識,因爲我用盡了想法。

這裏是我的代碼:

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] 

這是我的列表,當你點擊你重定向到LEICHT德國和向後的位置。

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 > 
} 
} 
} 
} 

這是當你點擊,並沒有翻譯可用它應該將用戶重定向到默認語言的子菜單(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> 
} 
} 

在這一點上我有沒有其他補充。如果您需要更多,請隨時詢問。

由於提前,

阿里斯

+0

爲什麼你不在乎什麼網址說,這是行爲的TYPO3,除非另有說明,否則它保持爲L = 1,但如果沒有可用的翻譯,則使用默認語言... – webMan

回答

0

你試試這個,只是讓TYPO3照顧鏈接:

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

不適用於內容。不適用於網址。我試過了,但沒有奏效。我應該提到它,我很抱歉。 –

+0

您使用哪種版本的typo3?這是我第一次看到在語言切換之外的菜單中定義的語言......您嘗試了一個沒有插入任何語言內容的子菜單,我做了很多多語言,但它被typo3添加了,是你的問題...你覆蓋錯字3 ... – webMan