Zum Inhalt springen

Menu in verschiedenen Spalten anzeigen

Erstellt am 23. März 2006 · 3 Antworten · letzte Antwort am 23. März 2006

Tags: Frage

tommystyle ·

Hallo,

Ich bin neu in der Typo3 Entwicklung und habe folgendes Problem:
Das Firstlevel Menu soll in einer anderen Spalte dargestellt werden wie das Secondlevel Menu. Die OP stehen in weisser Schrift in farbig (NO: grau, ACT:rot) hinterlegtem Kasten, während die UP in den selben farben ausgeschrieben sind.

-OP -UP
-OP -UP
-OP -UP
-OP -UP
-OP

Ich habe diverse Lösungsansätze ausprobiert:
1. Ansatz
Textmenu - ein Mountpoint
Excessives verwenden von CSS (level1-first, level1-second.... level2-first, level2-second.... ) um dann mit div-Tags die Postitionen absolut anzugeben.
Problem:

2.Ansatz
Textmenu - zwei Mountpoints
Die Tabelle habe ich um eine Spalte erweitert und in der ersten Spalte das Firstlevel Menu sowie in der zweiten Spalte das Secondlevel Menu eingebunden.
Firstlevel sollte also ID 7-2 anzeigen und die Unterpunkte ID 12-9 dann erscheinen wenn OP 7 gewählt ist.

-root (1)
--OP (7)
---UP (12)
---UP (11)
---UP (10)
---UP (9)
--OP (6)
--OP (5)
...
--OP (2)

###Dynamic Menu###
# Menu 1 cObject
lib.menu_1 = HMENU
special = directory
special.value = 1
entryLevel = 1
  # First level menu-object, textual
lib.menu_1.1 = TMENU
lib.menu_1.1 {
    # Normal state properties
  NO.allWrap = <div class="menu1-level1-no"> | </div>
  NO.stdWrap.htmlSpecialChars = 1
    # Enable active state and set properties:
  ACT = 1
  ACT.stdWrap.htmlSpecialChars = 1
  ACT.allWrap = <div class="menu1-level1-act"> | </div>
}
###Dynamic Menu###
# Menu 2 cObject
lib.menu_2 = HMENU
special = directory
special.value = 7
entryLevel = 1
  # Second level menu-object, textual
lib.menu_2.1 = TMENU
lib.menu_2.1 {
    # Normal state properties
  NO.allWrap = <div class="menu2-level2-no"> | </div>
  NO.stdWrap.htmlSpecialChars = 1
    # Enable active state and set properties:
  ACT = 1
  ACT.stdWrap.htmlSpecialChars = 1
  ACT.allWrap = <div class="menu2-level2-act"> | </div>
}

Resultat des Codes ist leider das doppelte Erscheinen der OP Liste einfach mit den verschiedenen CSS-Klassen.

Ideen; offensichtliche Fehler, die ich übersehen habe; oder fehlende Angaben?
Bin froh um jedes Feedback, danke.

Thomas

just2b ·

hm das sollte doch sicher mit CSS in einem Menü gehen!
du machst um jede ebene einen wrap (1.wrap = <div id="l1>|</div>, 2.wrap = <div id="l2>|</div>) und dann lässt du diese floaten!

probier doch einfach mal das statisch in einem html-file aus und dann versuchst du das mit TYPO3 nachzubauen!

lg georg

tommystyle ·

Als erstes Mal besten Dank für die schnelle Antwort.
Die div-Tags zum Floaten verwenden... an das hab ich schon gedacht, aber der Punkt mit dem Wrap !!!
Besten Dank, ich seh den Wald wieder...

Meld mich dann, wenns geklappt hat, wieder.

Thx, Thomas

tommystyle ·
###Dynamic Menu###
# Menu 1 cObject
lib.menu_1 = HMENU

  # First level menu-object, textual
lib.menu_1.1 = TMENU
lib.menu_1.1 {
    # Set absolute position 
  wrap = <div style="position:absolute; top:164px; left:0px;"> | </div>
    # Normal state properties
  NO.allWrap = <div class="menu1-level1-no"> | </div>
  NO.stdWrap.htmlSpecialChars = 1
    # Enable active state and set properties:
  ACT = 1
  ACT.stdWrap.htmlSpecialChars = 1
  ACT.allWrap = <div class="menu1-level1-act"> | </div>
}

  # Second level menu-object, textual
lib.menu_1.2 = TMENU
lib.menu_1.2 {
    # Move 2nd Level i Px to the side (top inherited from 1. level)
  wrap = <div style="position:absolute; top:0px; left:149px;"> | </div>
    # Normal state properties
  NO.allWrap = <div class="menu1-level2-no"> | </div>
  NO.stdWrap.htmlSpecialChars = 1
    # Enable active state and set properties:
  ACT = 1
  ACT.stdWrap.htmlSpecialChars = 1
  ACT.allWrap = <div class="menu1-level2-act"> | </div>
}

Bringt das gewünschte Resultat.
Ob ein Menu oder zwei ist mir letzlich egal, Hauptsache, die Designerin erkennt ihr Layout wieder.

Für mich war der wrap ums ganze Menu und nicht nur ums Menuitem der Baum vor dem Wald.

Danke
Thomas