Typo3 HMENU / TMENU: Einen bestimmten einzelnen Menüpunkt anders darstellen

Mittwoch, 10. Juli 2013

Aufgabe: In einem HMENU/TMENU eine Ausnahme für einen Menüpunkt mit einer bestimmten uid definieren. Hier sollte z.B. nach dem A-Tag des Menüpunktes mit der uid 1915 ein Text eingeschleust werden.

Für Suchmaschinen: Einzelnen Menüpunkt Typo3 anders formatieren, Text für bestimmten Menüpunkt per TypoScript ändern, Link in TMENU HMENU für bestimmten Menüpunkt ändern. Condition, Case für einzelnen Menüpunkt per TypoScript ändern. Eigene Klasse für einzelnen Menüpunkt. Bestimmten TMENU ändern, Ändern eines einzelnen TMENU in TypoScript.

Im ersten Schritt wird der Standard Link-Wrap (das A-Tag) des Menüpunktes deaktivert:

1.NO {
   doNotLinkIt.override = 1
   doNotLinkIt.override.if {
      value = 1915        
      equals.field = uid
   }
}

Und anschließend ein CASE für den Menüpunt definiert:

1.NO.stdWrap.override.cObject = CASE
1.NO.stdWrap.override.cObject {
   key.field = uid
   1915 = COA
   1915 {
      10 = TEXT
      10 {
         field = nav_title // title
         typolink.parameter.field = uid
      }
      20 = TEXT
      20.value = <span>Dahinter</span>
   }
}

Hier noch mal das ganze TypoScript-Setup komplett:

lib.shortcut_navi = HMENU
lib.shortcut_navi {
 
 
   special.value = 150
   special = directory
   entryLevel = 1
 
   1 = TMENU
   1.wrap = <ul class="menu">|</ul>
   1.noBlur = 1
   1.NO {
      wrapItemAndSub = <li class="first">|</li>|*|<li>|</li>|*|<li class="last">|</li>
      wrapItemAndSub.insertData = 1
   }
 
 
   // Ausnahme: Ein Button anders
   // Der Menüpunkt hat die PID 1915
 
   1.NO {
      doNotLinkIt.override = 1
      doNotLinkIt.override.if {
         value = 1915
         equals.field = uid
      }
   }
 
   1.NO.stdWrap.override.cObject = CASE
   1.NO.stdWrap.override.cObject {
      key.field = uid
      1915 = COA
      1915 {
         10 = TEXT
         10 {
            field = nav_title // title
            typolink.parameter.field = uid
         }
         20 = TEXT
         20.value = <span>Dahinter</span>
      }
   }
 
   ...
 
}