如何使用 Typo3 DataProcessor 创建正确的菜单 link 以翻译页面?

How can I create the right menu link with Typo3 DataProcessor to translated pages?

我对 Typo3 8.7 中的 DataProcessor / MenuProcessor 有疑问。 我的网站有两种语言德语 (L=0) 和英语 (L=2)。在德语中,所有导航 links 都可以,但是当我切换到英语时,主导航将所有菜单项翻译成英语,但是 links 显示给德语页面,而不是英语页面。

link 应如下所示:

德语 = /ueber-uns/

英文=/en/about-us/

链接有效,realUrl 完成工作。在我的 LanguageMenu 中,link 翻译有效。但是在我的主导航中没有。

我的 MainNavigationProcessor 是:

dataProcessing {
  10 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
  10 {
    levels = 2
    includeSpacer = 1
    as = mainnavigation
  }
}

我的语言菜单是:

dataProcessing {
  40 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
  40 {
    special = language
    special.value = 0,2 
    as = languagenavigation
    if.isTrue = 0,2
  }
}

转储显示:

我做错了什么?

您不仅需要定义 special.value 等特殊类型值,还需要定义 value 因为在这里您使用了特殊的语言菜单。

试试这个打字错误。

dataProcessing {
  40 = TYPO3\CMS\Frontend\DataProcessing\MenuProcessor
  40 {
    special = language
    special.value = 0,2 
    as = languagenavigation
    if.isTrue = 0,2
  }
}

问题已解决。在 Typo3 设置中,这一行有帮助:

config.linkVars = L

更好:

config.linkVars = L(0-2)