Hallo,
ich habe mir folgendes Menü vorgenommen:
http://www.mortox.de/typo3-tipps/typoscript-sammlung/dropdown-menue.html
Ich verwende jedoch kein Templavoila, sondern "nur" eine html Vorlage. Was muss ich dann im typoskript ändern, damit es trotzdem funktioniert?
Muss ich zusätzlich auch die Menüpunkte in meiner HTML-Vorlage auch so benennen wie im Backend von Typo3? Ich steh da völlig auf dem Schlauch...
Das Menu erscheint zumindest schon mal so, wie es auf der Homepage angepriesen wurde, halt nur mit dem falschen Inhalt...
Wäre echt super wenn ihr mir helfen könnt, beiß mir schon seit 2 Tagen die Zähne dran aus.
Guten Morgen,
ein paar Fragen zu Deinem Aufbau:
- hast Du Dein DropDown-Menu hart in Deinem HTML-Template reingeschrieben oder mittels Subpart/Marker angegeben?
- Poste bitte zusätzlich mal Dein TS und ggf. Dein HTML
Wenn Du eine HTML-Vorlage benutzt, so musst Du natürlich auch Dein DropDown-Menu in HTML als Subpart oder Marker deklarieren (ich empfehle Subpart). Dann kannst Du das wie gewohnt mit TS wrappen und ein dynamisches Menu erstellen.
HTML mittels Subpart:
<-- ###DROPDOWN### start -->
<ul class="menu">
<li ><a href="#">Ebene1 Punkt1</a></li>
<li onmouseover="show(this)" onmouseout="hide(this)" >
<a href="#">Ebene1 Punkt2</a>
<ul class="submenu" onmouseover="show(this)" onmouseout="hide(this)" >
<li><a href="#">Ebene2 Punkt1</a></li>
<li><a href="#">Ebene2 Punkt2</a></li>
<li class="active"><a href="#">Ebene2 Punkt3</a></li>
</ul>
</li>
<li><a href="#">Ebene1 Punkt3</a></li>
<li><a href="#">Ebene1 Punkt4</a></li>
</ul>
<-- ###DROPDOWN### end -->
Mögliches TS:
lib {
dropdown = HMENU
dropdown {
1 = TMENU
1 {
wrap = <ul class="menu">|</ul>
expAll = 1
NO = 1
NO {
linkWrap = <li>|</li>
}
IFSUB = 1
IFSUB {
wrapItemAndSub = <li onmouseover="show(this)" onmouseout="hide(this)" >|</li>
}
CURIFSUB < .IFSUB
ACTIFSUB < .CURIFSUB
}
2 < .1
2 {
wrap = <ul class="submenu" onmouseover="show(this)" onmouseout="hide(this)" >|</li>
CUR = 1
CUR {
wrapItemAndSub = <li class="active">|</li>
}
ACT < .CUR
}
}
}
Code ohne Gewähr, aber ein möglicher Ansatz. CSS und JS kannst Du dann von Deiner Vorlage nehmen.
ICh würde weiterhin emfpehlen ein JS-Framework wie jQuery für Dein Dropdown zu nutzen. Das hat den Vorteil, dass es einmal weit stabiler läuft und zwar auf allen Browsern als ein selbstgebasteltes JS für ein DropDown.
Bei Fragen einfach eine PN an mich.
Viele Grüße und viel erfolg
Danke erst mal für deine Antwort.
Das hier ist meine html:
<!-- ###DROPDOWN### start -->
<div id="navigation">
<ul class="menu">
<li ><a href="#">Ebene1 Punkt1</a></li>
<li onmouseover="show(this)" onmouseout="hide(this)" >
<a href="#">Ebene1 Punkt2</a>
<ul class="submenu" onmouseover="show(this)" onmouseout="hide(this)" >
<li><a href="#">Ebene2 Punkt1</a></li>
<li><a href="#">Ebene2 Punkt2</a></li>
<li class="active"><a href="#">Ebene2 Punkt3</a></li>
</ul>
</li>
<li><a href="#">Ebene1 Punkt3</a></li>
<li><a href="#">Ebene1 Punkt4</a></li>
</ul>
</div>
<!-- ###DROPDOWN### ende -->
Und TS sieht so aus:
### Menü ###
lib {
dropdown = HMENU
dropdown {
1 = TMENU
1 {
wrap = <ul class="menu">|</ul>
expAll = 1
NO = 1
NO {
linkWrap = <li>|</li>
}
IFSUB = 1
IFSUB {
wrapItemAndSub = <li onmouseover="show(this)" onmouseout="hide(this)" >|</li>
}
CURIFSUB < .IFSUB
ACTIFSUB < .CURIFSUB
}
2 < .1
2 {
wrap = <ul class="submenu" onmouseover="show(this)" onmouseout="hide(this)" >|</li>
CUR = 1
CUR {
wrapItemAndSub = <li class="active">|</li>
}
ACT < .CUR
}
}
}
Die Navigation wird auch angezeigt, nur stimmen meine Seitenbezeichnungen nicht mit den in der aktuellen html überein. Muss ich jetzt in der html. die aktuelle Seitenstruktur abbilden, oder wie übernimmt der die richtige Struktur?