Typo3的前端语言菜单

时间:2015-07-20 13:58:19

标签: html css templates typo3

我正在使用TYPO3 CMS(版本6.2.13)创建一个简单的网站,我想添加一个语言菜单来切换前端语言。 默认语言是英语,唯一的额外语言是斯洛伐克语。

这是我到目前为止所做的事情:

我在根页面创建了两种网站语言(我实际上只使用斯洛伐克语,因为默认应该被视为英语)。 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>

现在,我遇到了一个问题:在前端的切换语言菜单中,我无法选择斯洛伐克语(文本静音)。英语似乎是唯一可选择的语言。 但是当我手动输入斯洛伐克页面的网址(sitename / sk /)时,我可以看到带有斯洛伐克内容的斯洛伐克页面,所以问题(我猜)是菜单,而不是页面。有人可以帮帮我吗?您是否需要额外的信息才能找到解决方案?

P.S。如果我添加了无用的信息或错过了重要的事情,我很抱歉,我真的是个新手。

1 个答案:

答案 0 :(得分:1)

禁用realUrl(config.tx_realurl_enable = 0)并清除常规缓存。 然后试试你的语言菜单真正做的事情(index.php?id = 1&amp; L = 2会切换语言)。

您的菜单中还有addQueryString.exclude = L,id,cHash,no_cache。 什么建议你删除&#39; L(语言)参数