2017-05-24 11 views
0

私のHMENUの第2レベルを親IDの内容によって異なるようにしようとしています。TYPO3 pidに基づくHMENU内のケース

具体的には、pidが特定の番号である場合は、TMENUにCOAを追加する必要があります。

私は何とかCASEを使ってこれを行うことができるはずだと思ったが、正しく動作させるための正しい設定が見つからなかった。

これは私が何をしたいのかを示して私の不正なコードです:私はあなたがそのレベルで利用可能なPIDを持っていることを疑う

lib.mymenu = HMENU 
lib.mymenu { 
    1 = TMENU 
    1 { 
    ... 
    } 
    2 = CASE 
    2 { 
    key.field = pid 
    default = TMENU 
    default { 
     stdWrap.wrap = <ul>|</ul> 
     expAll = 1 
     NO = 1 
     NO.wrapItemAndSub = <li>|</li> 
    } 
    23 = TMENU 
    23 { 
     stdWrap.wrap = <ul>|</ul> 
     expAll = 1 
     NO = 1 
     NO.stdWrap.cObject = COA 
     NO.stdWrap.cObject { 
     ... 
     } 
    } 
    } 
} 

答えて

2


主要部分があれば、ラップ、私はシンプルでstdWrapの時だけが異なるだろうと同じであるので:あなたもstdWrapがアクティブなラップではないと一致しないstdWrapcObjectを使用してコードで

2 = TMENU 
2 { 
    stdWrap.wrap = <ul>|</ul> 
    expAll = 1 
    NO = 1 
    NO { 
     wrapItemAndSub = <li>|</li> 
     /// what wrap do you want to use??? 
     stdWrap.wrap { 
      cObject = COA 
      cObject { 
       : 
      } 
      if.equals.field = pid 
      if.value = 23 
     } 
} 

が、一連の(ラップ)関数のコンテナ。

+0

「pid」が指し示すと思われるものに応じて、これはdata = TSFE:idまたはfield = pidのどちらかで行う必要があります。後者はメニューがレンダリングされる現在のページで、最初は親ページです。現在レンダリングされているメニュー項目 – Joey

+0

ありがとうございます。これを 'if.equals.field'に変更すると、これが動作します。私のCOAにはタイトルが含まれているので、ダブルアップを避けるために '.wrap'も削除しなければなりませんでした。 – user500665

+0

これで唯一の問題は、ページタイトルの前に 'COA'が追加されていることです。理想的には、これはページタイトルのテキストをすべて置き換えるべきであり、どのようなアイデアですか? – user500665

関連する問題