0

我正在尝试使用个人图像创建一个语言切换,以便在前端更改网站语言(我已经定义了语言和替代语言页面)。我正在使用 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
}

}
}
4

1 回答 1

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
于 2013-09-17T19:35:00.417 回答