Zum Inhalt springen

TMENU mit if-Abfrage

Erstellt am 27. August 2007 · 4 Antworten · letzte Antwort am 8. April 2008

Tags: Frage

Epo-Na ·

Hallo zusammen,

ich versuche derzeit folgendes TS-Schnippet zum Laufen zu bringen:

temp.mainNavi = HMENU
temp.mainNavi {
	1 = TMENU
	1 {
		noBlur = 1
      	wrap = <ul class="mainnav"> | </ul>
      
		NO = 1
		NO {
			stdWrap.htmlSpecialChars = 1
	      	wrapItemAndSub = <li> | </li>
      	}

		ACT = 1
		ACT {
			stdWrap.htmlSpecialChars = 1
			wrapItemAndSub = <li> | </li>
	      }
	}
 
	#Einträge hat	
	2 = TMENU
	2 {
		stdWrap.if.value = 3
		stdWrap.if.isLessThan.data = register:count_menuItems
		wrap = <ul class="subnav"> | </ul>
 	
		NO = 1 
		NO {
 			stdWrap.htmlSpecialChars = 1
 			wrapItemAndSub = <li> | </li>
 		}

		ACT = 1
		ACT {
			stdWrap.htmlSpecialChars = 1
			wrapItemAndSub = <li> | </li>
		}
	}
}

Mit dieser Konstruktion möchte ich folgende Aufgabenstellung umsetzen. Das Menü der ersten Ebene soll komplett angezeigt werden. Wenn ein Menü der 2. Ebene mehr als 3 Menüeinträge hat, sollte dieses nicht aufgeklappt werden.
Wenn das Untermenü nicht über mehr als 3 Einträge verfügt, sollte es unterhalt des entsprechenden Menüpunktes aufgeklappt und durch CSS eingestaltet werden.

Leider wird derzeit jedes Menü der 2. Ebene aufgerufen, unabhängig von seinen Unterseiten.

Hat jemand eine Idee, wie ich das Ding zum Laufen bekomme?

Beste Grüße
Micha
--

udowald ·

Hallo Micha,

ich stehe gerade vor einem ähnlichen Problem. Hast du mittlerweile die Abfrage nach der Anzahl der Menüpunkte zum Laufen gebracht?

Gruß
Achim

Epo-Na ·

Hallo Achim,

das o.g. Snippet funktioniert ab TYPO3 4.1. In TYPO3 4.0.6 kriegte ich es seinerzeit nicht zum Laufen, vermutlich war die Funktion dort nicht unterstützt.

Beste Grüße
Micha