2015-07-20 74 views
0

我使用TYPO3 CMS(版本6.2.13)創建一個簡單的網站,並且我想添加一個語言菜單來切換前端語言。 默認語言是英語,唯一的額外語言是斯洛伐克語。Typo3的前端語言菜單

這是我做了什麼至今:

我創建了兩個網站的語言在根頁面(實際上,我只用斯洛伐克語,因爲默認應被視爲英語)。 http://i.imgur.com/MKGKsrV.jpg
我還創建了頁面一個新的翻譯(斯洛伐克)。 http://i.imgur.com/EZVH90k.jpg

我的模板配置(我修改了介紹包裝,我沒有創建一個新的模板)是這樣的:

config { 
absRefPrefix = auto 
no_cache = {$config.no_cache} 
uniqueLinkVars = 1 
pageTitleFirst = 1 
linkVars = L 
prefixLocalAnchors = {$config.prefixLocalAnchors} 
renderCharset = utf-8 
metaCharset = utf-8 
doctype = html5 
removeDefaultJS = {$config.removeDefaultJS} 
inlineStyle2TempFile = 1 
admPanel = {$config.admPanel} 
debug = 0 
cache_period = 86400 
sendCacheHeaders = 0 
intTarget = 
extTarget = 
disablePrefixComment = 1 
index_enable = 1 
index_externals = 1 
headerComment = {$config.headerComment} 

// Enable RealUrl 
tx_realurl_enable = 1 
simulateStaticDocuments = 0 

// Disable Image Upscaling 
noScaleUp = 1 

// Language Settings 
sys_language_uid = 0 
sys_language_overlay = 1 
sys_language_mode = content_fallback 
language = en 
locale_all = en_US.UTF-8 
htmlTag_setParams = lang="en" dir="ltr" class="no-js" 

// Compression and Concatenation of CSS and JS Files 
compressJs = {$config.compressJs} 
compressCss = {$config.compressCss} 
concatenateJs = {$config.concatenateJs} 
concatenateCss = {$config.concatenateCss} 
} 

[globalVar = GP:L = 2] 
config { 
    sys_language_uid = 5 
    language = Slovak 
    locale_all = sk_SK.UTF-8 
    htmlTag_setParams = lang="sk" dir="ltr" class="no-js" 
[global] 

這是我的語言菜單代碼:

20 = HMENU 
20 { 
    special = language 
    special.value = 0, 2 
    special.normalWhenNoLanguage = 0 
    wrap = 
    1 = TMENU 
    1 { 
     noBlur = 1 
     NO = 1 
     NO { 
      linkWrap = <li>|</li> 
      stdWrap.override = English || Slovak 
      doNotLinkIt = 1 
stdWrap { 
       typolink { 
        parameter.data = page:uid 
        additionalParams = &L=0 || &L=2 
        ATagParams = hreflang="en-GB" || hreflang="sk-SK" 
        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> 
     #### NO TRANSLATION AVAILABLE STATES #### 
     USERDEF1 < .NO 
     USERDEF1 { 
      linkWrap = <li class="text-muted">|</li> 
      stdWrap.typolink > 
     } 

    } 
} 

wrap = <ul id="language_menu" class="language-menu">|</ul> 

現在,我有一個問題:在前端的切換語言菜單中,我無法選擇斯洛伐克(文本靜音)。英語似乎是唯一可選擇的語言。 但是,當我手動輸入斯洛伐克網頁(網站名稱/ SK /)的URL,我可以看到與斯洛伐克內容斯洛伐克頁面,所以這個問題(我猜),它的菜單,而不是頁面。任何人都可以幫助我?你需要額外的信息來尋找解決方案嗎?

P.S.如果我添加了無用的信息或錯過了重要的事情,我很抱歉,我真的是一個新手。

+0

我認爲你正在使用TYPO3 CMS(不近地天體),所以我已經改變了您的文章 - 如果這是錯誤的,隨意回滾。 – Jost

+0

是的,對不起,我的錯。謝謝你! –

回答

0

禁用realUrl(config.tx_realurl_enable = 0)並清除您的通用緩存。 然後嘗試一下你的語言菜單真正的功能(index.php?id = 1 & L = 2會切換語言)。

您的菜單中還有addQueryString.exclude = L,id,cHash,no_cache。 什麼建議你「刪除」的L(語言)參數