Переключатель языка Typo3
Я пытаюсь создать переключатель языка с личными изображениями, который позволяет изменить язык веб-сайта во внешнем интерфейсе (я уже определил языки и страницы с альтернативным языком). Я использую отрывок из Typo3 Core Documentation, но он не работает для меня, поэтому я, должно быть, делаю что-то не так... Я добавил в свой шаблон маркер под названием 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 ответ
Да, это не может работать, потому что вы определяете элемент 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