Zum Inhalt springen

menu in <ul> und <li> einbinden

Erstellt am 12. Juni 2007 · 15 Antworten · letzte Antwort am 13. Juni 2007

Tags: Frage

elquejido ·

hi all!

jetzt hab ich schon diverse versuche gemacht - immer ohne das erhoffte ergebnis. deshalb die folgende frage: wie muß die TS für ein TMENU aussehen, um folgenden HTML-Code zu generieren?

<ul>
<li><a href="link1">PAGE1</a></li>
<li><a href="#">PAGE2 (bzw. HEADER ohne link)</a>
		<ul>
			<li><a href="link2">subpage1</a></li>

			<li><a href="link3">subpage2</a></li>
			<li><a href="link4">subpage3</a></li>
		</ul>
	</li>
<li><a href="link5">PAGE3</a></li>
<li><a href="link6">PAGE4</a></li>
<li><a href="link7">PAGE5</a></li>
</ul>

PAGE2 soll nicht verlinkt sein. und die unterseiten von PAGE2 (special.value = 9) müssen nochmal von <ul>|</ul> umschlossen sein.

ich erwarte jetzt nicht den code. aber vielleicht weiß jemand ein link zu irgendeinem ähnlichen script. vielen dank! lg, el que...

nickno ·
temp.mainMenu = HMENU
temp.mainMenu {
  wrap = <ul class="menu-1">|</ul>
  1 = TMENU
  1 {
    NO.allWrap = <li class="menu-1 menulink-no">|</li>
    ACT = 1
    ACT.allWrap = <li class="menu-1 menulink-act">|</li>
    ACT.doNotLinkIt = 1
    SPC = 1
    SPC {
      allWrap = <li class="menu-1 menulink-spc">&nbsp;</li>|
      doNotShowLink = 1
    }
  }
  2 = TMENU
  2 {
    ...
  }
}
elquejido ·

hier mein TS-Code (peinlich...)

MENU = HMENU
MENU	 {

wrap = <ul>|</ul>
1 = TMENU
1.NO = 1
1.NO {
special = directory
special.value = 1
wrapItemAndSub = <li>|</li>
noBlur = 1
     }
     
wrap = <ul>|</ul>
2 = TMENU
2.NO = 1
2.NO {
special = directory
special.value = 9
wrapItemAndSub = <li>|</li>
noBlur = 1
}

blöd ist halt, daß dabei TMENU 2 nicht nach der entsprechenden Überseite eingebunden wird, sondern nach abschluß von TMENU1, womit das skript nicht funzt...

elquejido ·

hi georg!

hm...das ändert leider nichts daran, daß das 2. menu erst unterhalb des gesamten 1. menus eingebunden wird. ich brauche irgendeinen weg, um dem TS zu sagen, daß das 2. menu nach dem eintrag special.value = 9 einzusetzen ist. denn nur so funktioniert diese liste als flyout - menu...

elquejido ·
Michaelh74 schrieb

ich würde Dir empfehlen an Stelle von "special = directory" eher mit entryLevel zu arbeiten.

Gruß
Michael

warum???

Michaelh74 ·

Ist denke ich die bessere Variante falls sich mal die Uid des folders ändern sollte.

Ich sehe gerade, daß Du das directory sowieso an der falschen Stelle verwendest. siehe Tsref unter Stichpunkt HMENU.
Das direkt unterhalb von HMENU und auf keine Fall unterhalb von 1.NO
Die Zahl vor dem NO gibt im übrigen bereits den Level des Menüs an. 1 = Ebene1, 2 = Ebene2 etc.

Denke nämlich, daß ist auch das Problem, warum bei Dir Menu und Submenu separat ausgegeben werden.

Gruß
Michael

elquejido ·

funky #paralyzed#
hier findet ihr die seite in der ich das folgende TS-Script angewendet habe:
http://www.web44.server-drome.com/TYPO3/index.php?id=5

wenn die Seite unter der die Subseiten liegen (Arbeitsfelder) oder eine der Subseiten (Andragogik, Veränderungs...., Forschung) geöffnet ist, werden die subseiten - mit den entsprechenden parametern (<ul><li></li></ul>) - ins menu eingebunden und das flyout-menu funktioniert - ansonsten nicht...

fällt euch dazu was ein? also mir grade nicht...

MENU = HMENU
MENU	 {

1.wrap = <ul>|</ul>
1 = TMENU
1.NO = 1
1.NO {
wrapItemAndSub = <li>|</li>
noBlur = 1
        }
2.wrap = <ul>|</ul>
2 = TMENU
2.NO = 1
2.NO {
wrapItemAndSub = <li>|</li>
noBlur = 1
        }
     
1.CUR = 1
1.CUR {
doNotLinkIt = 1
wrapItemAndSub = <li class="active">|</li>
}

2.CUR = 1
2.CUR {
doNotLinkIt = 1
wrapItemAndSub = <li class="active">|</li>
}

      }

lg, el que...

nickno ·

Der einzige Unterschied kann ja nur die CSS-Klasse sein. Gib diese doch mal testweise allen Menüpunkten.

Außerdem habe ich dir noch einen Vorschlag per PM geschickt.

Gruß,
Tim

elquejido ·

ach du bist das! ja, vielen dank! aber in sachen menu: nope, nicht die klasse, sondern das verhalten des TS ist anders; hier die html-ausgabe des menus, wenn eine Subseite oder die überseite der subseiten aktiv ist:

<ul>
<li><a href="index.php?id=6" onfocus="blurLink(this);"  >Grundlagen</a></li>
<li class="active">Arbeitsfelder
<ul>
<li><a href="index.php?id=9" onfocus="blurLink(this);">Andragogik</a></li>
<li><a href="index.php?id=8" onfocus="blurLink(this);">Veränderungsbegleitung</a></li>
<li><a href="index.php?id=7" onfocus="blurLink(this);">Forschung</a></li>
</ul>
</li>
<li><a href="index.php?id=4" onfocus="blurLink(this);">Aktuelles</a></li>
<li><a href="index.php?id=3" onfocus="blurLink(this);"  >Vita</a></li>
<li><a href="index.php?id=2" onfocus="blurLink(this);"  >Kontakt</a></li>
</ul>

und hier die ausgabe, wenn eine der anderen seiten aktiv ist:

<ul>
<li class="active">Grundlagen</li>
<li><a href="index.php?id=5" onfocus="blurLink(this);">Arbeitsfelder</a></li>
<li><a href="index.php?id=4" onfocus="blurLink(this);"  >Aktuelles</a></li>
<li><a href="index.php?id=3" onfocus="blurLink(this);"  >Vita</a></li>
<li><a href="index.php?id=2" onfocus="blurLink(this);"  >Kontakt</a></li>
</ul>
nickno ·
elquejido schrieb
<ul>
<li><a href="index.php?id=6" onfocus="blurLink(this);"  >Grundlagen</a></li>
<li class="active">Arbeitsfelder
<ul>
<li><a href="index.php?id=9" onfocus="blurLink(this);">Andragogik</a></li>
<li><a href="index.php?id=8" onfocus="blurLink(this);">Veränderungsbegleitung</a></li>
<li><a href="index.php?id=7" onfocus="blurLink(this);">Forschung</a></li>
</ul>
</li>
<li><a href="index.php?id=4" onfocus="blurLink(this);">Aktuelles</a></li>
<li><a href="index.php?id=3" onfocus="blurLink(this);"  >Vita</a></li>
<li><a href="index.php?id=2" onfocus="blurLink(this);"  >Kontakt</a></li>
</ul>

und hier die ausgabe, wenn eine der anderen seiten aktiv ist:

<ul>
<li class="active">Grundlagen</li>
<li><a href="index.php?id=5" onfocus="blurLink(this);">Arbeitsfelder</a></li>
<li><a href="index.php?id=4" onfocus="blurLink(this);"  >Aktuelles</a></li>
<li><a href="index.php?id=3" onfocus="blurLink(this);"  >Vita</a></li>
<li><a href="index.php?id=2" onfocus="blurLink(this);"  >Kontakt</a></li>
</ul>

Kann ja auch nicht funktionieren, da ExpandAll (oder so ähnlich) nicht gesetzt ist. Daher stehen die ausklappenden Menüpunkte nicht im Quelltext.

Zudem ist die erste Liste nicht korrekt definiert. Nach Arbeitsfedler müsste ein </li> kommen und nicht erst nach dem aufklappenden Menü...

elquejido ·

von "ExpandAll (oder so ähnlich) " höre ich zum ersten mal. wo setzt man das?
und übrigens: mit dem oberen html funktioniert das menü - obwohl das </li> erst nach dem submenü (statt nach der überseite) gesetzt ist.

elquejido ·

yippieh! das war's, 1000 dank nickno, daß du drangeblieben bist. das </li> nach der IFSUB-Seite ist immer noch falsch platziert, aber solange es funzt ist mir das jetzt mal wurscht.

lg, el que...