html - 带有 Typo3 的前端语言菜单

标签 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>

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

附言如果我添加了无用的信息或遗漏了重要的东西,对不起,我真的是新手。

最佳答案

禁用 realUrl (config.tx_realurl_enable = 0 ) 并清除您的通用缓存。 然后尝试您的语言菜单的实际功能(index.php?id=1&L=2 会切换语言)。

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

关于html - 带有 Typo3 的前端语言菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31518445/

相关文章:

c# - Html/Css CSHTML - 某些元素的 Accordion 不打开

c++ - 如何从枚举模板参数推断数组大小?

c++ - 如何将 enable_if 用于模板类成员的外联定义

C++ 模板和访问命名空间

javascript - 无法点击带有 ajax 加载的按钮

css - 100% 高度元素无法在移动设备上滚动

javascript - 4个 Angular 的html5 Canvas 渐变

html - 使用html、css创建一个看起来很像的google搜索页面

html - 导航在大胆的悬停上移动

javascript - jQuery在计算窗口高度后将div放置在特定位置