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

时间:2012-03-30 12:32:39

标签: 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>
  }
}

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

谢谢!

2 个答案:

答案 0 :(得分:9)

来自tsref:

  

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

因此,您只需阅读manual并配置USERDEF1USERDEF2的项目状态。在您的情况下,您必须使用空值覆盖它们。

答案 1 :(得分:-2)

通过安装sr_language_menu扩展并将“showInactive”常量设置为0来修复。