0

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
}

私のサイトにはもう 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を非表示にします。そしてその逆。

どうすればそれを達成できますか?

4

1 に答える 1

3

解決しました!簡単な解決策は次のとおりです。

[動作] タブの [言語]セクションの下にあるフィールドを確認するだけです(ページを編集する場合):

Language
Localization 

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

1)ドイツ語でのみ必要なフィールドの場合、「現在の言語の翻訳が存在しない場合はページを非表示にする」チェックボックスをアクティブにします。注: フランス語の翻訳を追加しないでください。

2) フランス語のみが必要なフィールドについては、「ページのデフォルト翻訳を非表示にする」チェックボックスをアクティブにします。デフォルト言語だからです。

そして、TYPO3 は、現在の言語に応じて必要なページを正しく非表示/表示します!

于 2013-07-17T14:39:32.907 に答える