TYPO3:如何重定向到未翻译页面的翻译主页?
TYPO3: How can I redirect to the translated homepage of a non translated page?
我用以下语言创建了一个多语言 TYPO3 网站:
- 德语(默认)
- 英语
- 西班牙语
所有页面都没有翻译。例如,我有 10 个德语页面和 10 个英语翻译页面,但只有 4 个西班牙语翻译页面,但语言切换器在所有站点上都可用。因此,如果有人转到没有西班牙语的六个页面之一并尝试使用语言切换器,他将收到以下错误消息:
Page Not Found
Reason: Page is not available in the requested language (strict).
这不是很好,如果没有特定页面的西班牙语翻译,我认为更好的解决方案是将用户重定向到西班牙语主页,但我该怎么做呢?
我当前的语言配置如下所示:
config {
...
sys_language_uid = 0
language = de
htmlTag_langKey = de-DE
locale_all = de_DE
sys_language_mode = strict
}
[globalVar = GP:L = 1]
config {
sys_language_uid = 1
language = en
htmlTag_langKey = en
locale_all = en_GB
linkVars = L(1)
}
[global]
[globalVar = GP:L = 2]
config {
sys_language_uid = 2
language = es
htmlTag_langKey = es
locale_all = es
linkVars = L(2)
}
[global]
我的语言切换器如下所示:
obj.languageSwitcher = HMENU
obj.languageSwitcher {
special = language
special.value = 0,1,2
special.normalWhenNoLanguage = 0
1 = TMENU
1 {
NO = 1
NO {
doNotLinkIt = 1
stdWrap {
override = DE || EN || ES
typolink {
parameter.data = page:uid
additionalParams = &L=0 || &L=1 || &L=2
}
outerWrap = <li>|</li>
}
}
ACT < .NO
ACT {
stdWrap.typolink >
stdWrap.outerWrap = <li class="active">|</li>
}
USERDEF1 < .NO
USERDEF1 {
stdWrap.typolink >
}
}
}
如您所见,我目前定义了一个 USERDEF1,如果当前站点没有西班牙语版本,它会从我的语言切换器中删除 link,但我仍然想将用户重定向到主页西班牙语版本。你有什么建议吗?
与其删除 link,不如更改目标:
USERDEF1 < .NO
USERDEF1.stdWrap.typolink {
parameter.data >
parameter = 123 <- use your homepage id
}
我用以下语言创建了一个多语言 TYPO3 网站:
- 德语(默认)
- 英语
- 西班牙语
所有页面都没有翻译。例如,我有 10 个德语页面和 10 个英语翻译页面,但只有 4 个西班牙语翻译页面,但语言切换器在所有站点上都可用。因此,如果有人转到没有西班牙语的六个页面之一并尝试使用语言切换器,他将收到以下错误消息:
Page Not Found
Reason: Page is not available in the requested language (strict).
这不是很好,如果没有特定页面的西班牙语翻译,我认为更好的解决方案是将用户重定向到西班牙语主页,但我该怎么做呢?
我当前的语言配置如下所示:
config {
...
sys_language_uid = 0
language = de
htmlTag_langKey = de-DE
locale_all = de_DE
sys_language_mode = strict
}
[globalVar = GP:L = 1]
config {
sys_language_uid = 1
language = en
htmlTag_langKey = en
locale_all = en_GB
linkVars = L(1)
}
[global]
[globalVar = GP:L = 2]
config {
sys_language_uid = 2
language = es
htmlTag_langKey = es
locale_all = es
linkVars = L(2)
}
[global]
我的语言切换器如下所示:
obj.languageSwitcher = HMENU
obj.languageSwitcher {
special = language
special.value = 0,1,2
special.normalWhenNoLanguage = 0
1 = TMENU
1 {
NO = 1
NO {
doNotLinkIt = 1
stdWrap {
override = DE || EN || ES
typolink {
parameter.data = page:uid
additionalParams = &L=0 || &L=1 || &L=2
}
outerWrap = <li>|</li>
}
}
ACT < .NO
ACT {
stdWrap.typolink >
stdWrap.outerWrap = <li class="active">|</li>
}
USERDEF1 < .NO
USERDEF1 {
stdWrap.typolink >
}
}
}
如您所见,我目前定义了一个 USERDEF1,如果当前站点没有西班牙语版本,它会从我的语言切换器中删除 link,但我仍然想将用户重定向到主页西班牙语版本。你有什么建议吗?
与其删除 link,不如更改目标:
USERDEF1 < .NO
USERDEF1.stdWrap.typolink {
parameter.data >
parameter = 123 <- use your homepage id
}