我有这个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。 这可能吗?
谢谢!
答案 0 :(得分:9)
来自tsref:
当TSFE-&gt; sys_language_uid与元素的sys_language uid匹配时,状态设置为ACT,否则为NO。但是,如果页面由于页面本地化设置(可以禁用翻译)而无法使用,或者如果未找到备用页面语言记录(可以使用.normalWhenNoLanguage禁用,请参阅下文),则状态将设置为USERDEF1以进行非活动状态项目和USERDEF2用于活动项目。因此总共有四种状态可以创建设计。在这种情况下,建议禁用使用USERDEF1和USERDEF2呈现的菜单项上的链接,因为它们被完全禁用,因为该语言中的页面不存在,如果尝试访问,甚至可能发出错误(取决于站点配置)。 p>
因此,您只需阅读manual并配置USERDEF1
和USERDEF2
的项目状态。在您的情况下,您必须使用空值覆盖它们。
答案 1 :(得分:-2)
通过安装sr_language_menu扩展并将“showInactive”常量设置为0来修复。