Soweit scheint dieses Problem gelöst sein :D
Der erste Lösungsversuch war das Speichern der jeweiligen Unterkategorien mit den Links in einem verstecken Layer. Dann wurden diese einfach mit einem JavaScript als Option Elemente in eine Auswahlliste (select) eingefügt. Auswahl funktionierte auch soweit.
Doch siehe da. Ex oriente lux ...
Tief versteckt im Archiv eines russischen TYPO3 Forums ward diese CATMENU zu finden.
Siehe
Russian TYPO3 community.
Typoscript-Code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81:
| lib.cat_choose = COA lib.cat_choose.wrap = <form action="index.php?id=39" method="post" name="Form1"><table width="330px" border="0" cellpadding="0" cellspacing="0">| <tr valign="top"><td><input name="submit1" type="submit" value="Suchen" class="button_style"></td></tr></table></form> lib.cat_choose { 10 = TEXT 10.value = 50 = CONTENT 50 { wrap = <tr><td><select name="menu1" class="list_style"><option value="">Auswahl1</option>|</select></td></tr> table = tt_news_cat select { pidInList = 38 andWhere = parent_category = 3 } renderObj = COA renderObj { 10 = TEXT 10.field = uid 10.wrap = <option value="|" 20 = TEXT 20 { field = title wrap = selected="selected" >|</option> if { value.field = uid equals.data = GPvar:menu1 } } 21 = TEXT 21 { field = title wrap = >|</option> if { value.field = uid equals.data = GPvar:tx_ttnews|cat negate = 1 } } } # end renderObj } # end 50 52 = CONTENT 52 { wrap = <tr><td><select name="menu2" class="list_style"><option value="">Auswahl2</option>|</select></td></tr> table = tt_news_cat select { pidInList = 38 andWhere = parent_category = 4 } renderObj = COA renderObj { 10 = TEXT 10.field = uid 10.wrap = <option value="|" 20 = TEXT 20 { field = title wrap = selected="selected" >|</option> if { value.field = uid equals.data = GPvar:menu2 } } 21 = TEXT 21 { field = title wrap = >|</option> if { value.field = uid equals.data = GPvar:tx_ttnews|cat negate = 1 } } } # end renderObj } # end 52 } # end lib.cat_choose |
Also ein CATMENU als Dropdownliste.
Soweit ich es richtig verstehe, wird hier ein komplettes Menü cat_choose zusammengebaut. Die Daten werden über direkter Abfrage aus der Tabelle tt_news_cat (für die gegebenen Hauptkategorien parent_category) zusammengesucht.
Die Options werden dann ins renderObj geschrieben (in ein COA).
Die Auswahl wird über Parameter (GPvar:menu1, GPvar:menu2) aus dem Formular ermittelt. Im Setup TS für plugin.tt_news werden dann die Parameter im dataWrap übergeben. Vereinfacht kann dieses Menü dann ja auch für eine einzige Kategorienauswahl verwendet werden. Oder auch mehr als zwei...
Interessant was man alles mit TypoScript machen kann ;)
Marcus