2013-07-17 40 views
0

TYPO3特定版本的菜單項6.1TYPO3:顯示/隱藏根據當前語言

我的頁面結構:

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 
} 

我有一個額外的語言爲我的網站(默認爲德語,附加=法語):

[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。

我該如何做到這一點?

回答

2

解決!下面是簡單的解決方案:

只需要下語言部分,檢查出字段上行爲選項卡(在億郵編輯頁面):

Language 
Localization 

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

1),我只需要在領域德語,我做複選框「隱藏頁面,如果沒有翻譯爲當前語言」存在「活躍。注意:你不應該用法語爲他們添加任何翻譯。

2)對於我只需要法語的字段,我使複選框「隱藏頁面的默認翻譯」處於活動狀態。因爲它是默認語言。

TYPO3會根據當前的語言正確隱藏/顯示所需的頁面!

+0

將第二個複選框選項設置爲所有頁面的默認方法是非常方便的:只需將'$ TYPO3_CONF_VARS ['FE'] ['hidePagesIfNotTranslatedByDefault'] ='1';'添加到localconf或將其設置爲安裝工具。因此,您不需要分別設置每個頁面。 – Michael

+0

謝謝,我看到了這個解決方案。事情是,我需要它不是爲我的所有網頁,只是爲了具體。 – sbxmal