语言切换器TYPO3

时间:2013-09-17 16:09:16

标签: typo3 typoscript language-switching

我正在尝试使用个人图像创建语言切换,以便更改前端的网站语言(我已经定义了语言和替代语言页面)。我正在使用TYPO3核心文档中的一个片段,但它不适合我,所以我一定做错了...我在模板中添加了一个名为LANGUAGE的标记,它对应于右上角的DIV。主容器,其中会出现该页面可用语言的一些代表性标志。

这是我在模板中的TS代码:

config.linkVars = L , type
config.sys_language_uid = 0
config.language = en
config.locale_all = en_EN

[globalVar = GP:L =0]
config.sys_language_uid = 0
config.language = en
config.locale_all = en_EN
config.htmlTag_langKey = en
[global]

[globalVar = GP:L =1]
config.sys_language_uid = 1
config.language = pt
config.locale_all = pt_PT
config.htmlTag_langKey = pt
[global]

[globalVar = GP:L =2]
config.sys_language_uid = 2
config.language = fr
config.locale_all = fr_FR
config.htmlTag_langKey = fr
[global]

[globalVar = GP:L =3]
config.sys_language_uid = 3
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de
[global]

page.10.marks.LANGUAGE {

  lib.langMenu = HMENU
  lib.langMenu {
  special = language
  special.value = 0,1,2,3
  special.normalWhenNoLanguage = 0
    1 = GMENU
    1.NO {
     XY = [5.w]+4, [5.h]+4
     backColor = white
     5 = IMAGE
     5.file = fileadmin/Template/images/english.png  || fileadmin/Template/images/portuguese.png  || fileadmin/Template/images/french.png || fileadmin/Template/images/german.png
     5.offset = 2,2
}

}
}

1 个答案:

答案 0 :(得分:2)

是的,这不起作用,因为您在标记内定义了一个lib元素。您必须以不同方式嵌套代码:

lib.langMenu = HMENU
lib.langMenu {
  [all your stuff from the lang menu]
}

然后

page.10.marks.LANGUAGE < lib.langMenu

顺便说一下,如果您还定义USERDEF1和USERDEF2状态并使用doNotShowLink = 1,那么如果该页面不可用,则不会呈现语言的链接。如果并非您的所有内容都已翻译且您不想使用后备,那么这非常有用:

USERDEF1 = 1
USERDEF1.doNotShowLink = 1

USERDEF2 < .USERDEF1