我在Typo3 9.4上遇到问题(我不得不承认这是我尝试设置的第一个Typo3 9页面,其中包含多种语言):
如果所选语言中没有内容,我希望将内容回退到默认语言。 这是我的TypoScript:
config {
linkVars = L
sys_language_uid = 0
language = en
locale_all = en_US.UTF-8
sys_language_overlay = 1
htmlTag_setParams = lang="en" dir="ltr" class="no-js en-selected"
}
[globalVar = GP:L = 1]
config {
sys_language_uid = 1
sys_language_mode = content_fallback;0
language = de
locale_all = de_DE.UTF-8
htmlTag_setParams = lang="de" dir="ltr" class="no-js de-selected"
}
[global]
[globalVar = GP:L = 2]
config {
sys_language_uid = 2
sys_language_mode = content_fallback;0
language = es
locale_all = es_ES.UTF-8
htmlTag_setParams = lang="es" dir="ltr" class="no-js es-selected"
}
[global]
这些语言在站点管理中也是不合法的。这是生成的config.yaml:
rootPageId: 1
base: /
baseVariants: { }
languages:
-
languageId: '0'
title: English
navigationTitle: English
base: /
locale: en_US.UTF-8
iso-639-1: en
hreflang: en-US
direction: ''
typo3Language: default
flag: global
enabled: true
-
languageId: '1'
title: Deutsch
navigationTitle: Deutsch
base: /de/
locale: de_DE.UTF-8
iso-639-1: de
hreflang: de-DE
direction: ''
typo3Language: de
flag: de
fallbackType: fallback
fallbacks: '0'
enabled: true
-
languageId: '2'
title: Spanisch
navigationTitle: Spanisch
base: /es/
locale: es-ES.UTF-8
iso-639-1: es
hreflang: es-ES
direction: ''
typo3Language: default
flag: es
fallbackType: fallback
fallbacks: '0'
enabled: true
errorHandling: { }
routes: { }
我的主页上有英文内容,德语和西班牙文为空。但是,当我更改为德语时,页面上没有(英语)内容。有趣的有两点:菜单为德语,因此可以识别其他语言,但是在html源代码中,html-tag如下所示:
<html lang="en" dir="ltr" class="no-js en-selected">
但是这被定义为默认值。我认为,这种状况没有任何作用。任何想法我的思维或编码有问题吗?
答案 0 :(得分:0)
Typo3 9.5不再支持Linkvar L,因此您需要从以下位置更改条件
[globalVar = GP:L = 2]
到
#condition on localE in site management language tab
[siteLanguage = locale = de_DE.UTF-8]
站点管理Yaml文件看起来不错
答案 1 :(得分:0)
我正在将网站从8.7.x升级到9.5.x。据我了解,您根本不需要TypoScript部分。语言回退的所有设置都在站点配置中完成。 TYPO3 9.5.x(我仅尝试过这些版本)中仍有两个错误与语言回退有关: