TYPO3:根据当前语言显示/隐藏特定菜单项

时间:2013-07-17 13:03:47

标签: menu typo3 typoscript

TYPO3版本6.1

我的页面结构:

root
  page1
    subpage1-1
    subpage_only_for_fr_1-2
    subpage_only_for_de_1-3
  page2
    subpage2-1
    subpage2-2

我的菜单结构相同(根项目除外):

  page1
    subpage1-1
    subpage_only_for_fr_1-2
    subpage_only_for_de_1-3
  page2
    subpage2-1
    subpage2-2

我的菜单TS是:

LEFTNAV = HMENU
LEFTNAV {
    1 = TMENU
    1 {
        wrap = <ul>|</ul>
        NO = 1
        NO {
            wrapItemAndSub = <li>|</li>
            stdWrap.field = title
        }
        ACT = 1
        ACT {
            wrapItemAndSub = <li class="active">|</li>
            stdWrap.field = title
        }
    }
    2 < .1
}

我的网站还有一种语言(默认= deutsch,附加=法语):

[globalVar=GP:L=0]
  config.sys_language_uid = 0
  config.language = de
[global]
[globalVar=GP:L=2]
  config.sys_language_uid = 2
  config.language = fr
[global]

我想根据当前语言显示/隐藏菜单中的某些页面。

例如,如果用户将语言切换为法语,我想在菜单中显示页面 subpage_only_for_fr_1-2 并隐藏 subpage_only_for_de_1-3 。副verca。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

解决!这是一个简单的解决方案:

只需查看行为标签下语言部分下的字段(当您编辑页面时):

Language
Localization 

 Hide default translation of page
 Hide page if no translation for current language exists 

1)对于我只需要使用Deutsch语言的字段,我会选中“如果当前语言没有翻译,则隐藏页面”激活。注意:您不应该用法语为它们添加任何翻译。

2)对于我只需要法语的字段,我选中“隐藏页面的默认翻译”复选框。因为它是默认语言。

TYPO3将隐藏/显示所需页面,具体取决于当前语言!