错字3:如果没有可用的翻译,则不显示语言链接

cil*_*ili 1 menu typo3 typoscript

我有这个typoscript语言菜单:

tmpl.NavLang  = HMENU
tmpl.NavLang {
  special=language
  special.value = 0,1,2,3

  1 = TMENU
  1 {
    NO = 1
    NO {
      stdWrap.htmlSpecialChars = 1
      stdWrap.override = DE || EN || FR || PL
      ATagTitle = Deutsch || English || Francais || Polski
    }
    ACT < .NO
    ACT.doNotLinkIt = 1
    ACT.linkWrap = <span>|</span>
  }
}
Run Code Online (Sandbox Code Playgroud)

如果我在英文页面上,例如,没有法语翻译,我想隐藏菜单中的FR.这可能吗?

谢谢!

pga*_*mpe 9

来自tsref:

当TSFE-> sys_language_uid与元素的sys_language uid匹配时,状态设置为ACT,否则为NO.但是,如果页面由于页面本地化设置(可以禁用翻译)而无法使用,或者如果未找到备用页面语言记录(可以使用.normalWhenNoLanguage禁用,请参阅下文),则状态将设置为USERDEF1以进行非活动状态项目和USERDEF2用于活动项目.因此总共有四种状态可以创建设计.在这种情况下,建议禁用使用USERDEF1和USERDEF2呈现的菜单项上的链接,因为它们被完全禁用,因为该语言中的页面不存在,如果尝试访问,甚至可能会发出错误(取决于站点配置).

所以你只需要阅读手册并为USERDEF1和配置项目状态USERDEF2.在您的情况下,您必须使用空值覆盖它们.