TYPO3:如何重定向到未翻译页面的翻译主页?

TYPO3: How can I redirect to the translated homepage of a non translated page?

我用以下语言创建了一个多语言 TYPO3 网站:

  1. 德语(默认)
  2. 英语
  3. 西班牙语

所有页面都没有翻译。例如,我有 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
}