2017-05-24 1 views
0

Ich versuche, die zweite Ebene meiner HMENU je nachdem, was die Eltern-ID ist, zu unterscheiden.TYPO3 CASE in HMENU basierend auf pid

Insbesondere muss ich eine COA zu der TMENU hinzufügen, wenn die PID eine bestimmte Nummer ist.

Ich dachte, ich sollte das irgendwie mit einem CASE machen können, aber ich habe nicht das richtige Setup gefunden, um es richtig funktionieren zu lassen.

Dies ist mein falschen Code, das zeigt, was ich tun möchte:

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 { 
     ... 
     } 
    } 
    } 
} 

Antwort

2

Ich bezweifle, dass Sie die pid verfügbar auf dieser Ebene haben.
Als Hauptteil ist identisch würde ich nur am stdWrap mit einem einfachen if-Wrap unterscheiden:

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 
     } 
} 

in Ihrem Code Sie auch cObject auf stdWrap benutzen, die nicht mit so stdWrap keine aktiven Wrap, aber ein Container für eine Reihe von (Wrap) Funktionen.

+0

Je nachdem, auf was "pid" zeigen soll, sollte dies entweder mit data = TSFE: id oder field = pid geschehen, wobei letztere die aktuelle Seite ist, für die das Menü gerendert wird der Menüeintrag, der gerade gerendert wird. – Joey

+0

Danke. Das funktioniert, wenn ich es in 'if.equals.field' ändere. Ich musste auch die ".wrap" entfernen, weil mein COA den Titel enthält, so dass es eine Verdoppelung vermeidet. – user500665

+0

Ok, das einzige Problem dabei ist, dass es den 'COA' vor dem Seitentitel hinzufügt. Idealerweise sollte dies den Seitentiteltext komplett ersetzen, irgendwelche Ideen? – user500665

Verwandte Themen