Neuen Menütyp definieren

In diesem kleinem Tutorial wird gezeigt, wie man einen neuen Menütyp definiert.

In diesem Beispiel soll ein Dropdown - Menü (Selectbox) aus den Unterseiten verschiedener Seiten erzeugt werden. Dabei sollen die Bereiche eine Optgroup sein, und die Unterseiten Einträge darin, bei Auswahl eines Eintrages soll automatsch auf die entsprechende Seite gesprungen werden.

Schritt 1:

Mit Hilfe von TSConfig einen neuen Eintrag im Inhaltselement "Menü/Sitemap" erzeugen:

TCEFORM.tt_content.menu_type.addItems.15 = spezielles Sendungsdropdown

 

Schritt 2:

Mit Hilfe von TypoScript dieses neue Menü im TS-Objekt tt_content.menu.20 definieren. Da die Anforderungen an das Menü nicht ganz trival sind ist die Konstruktion des Dropdownmenüs mit Hilfe eines TMENU ein wenig Tricky:

tt_content.menu.20.15 = HMENU
//tt_content.menu.20.entryLevel=-1
tt_content.menu.20.15 {
special=list
special.value.field=pages
wrap (
<script type="text/javascript">
<!--
function Go(x) {
if(x != "") {
window.location.href = x;
document.forms[0].reset();
document.forms[0].elements[0].blur();
}
}
//-->
</script>
<form><select name="programm"
onChange="Go(this.form.programm.options[this.form.programm.options.selectedIndex].value)">
|</select></form>
)

1=TMENU
1.NO.allWrap=|">
1.NO.wrapItemAndSub=<optgroup label="|</optgroup>
1.NO.doNotLinkIt=1
1.expAll=1

2=TMENU
2.NO.doNotLinkIt=1
2.NO.before=

2.NO.before {
typolink.parameter.data=field:uid
typolink.returnLast=url
}
2.NO.before.wrap=<option value="|">
2.NO.allWrap=|</option>

blog comments powered by Disqus
blogroll