Zum Inhalt springen

TMENU ausklappen

Erstellt am 29. September 2005 · 19 Antworten · letzte Antwort am 10. Februar 2006

Tags: Frage

Freshmeat ·

Salü zusammen,

ich bin absoluter Typo3 Neuling und will mir momentan meine Navigation aufbauen. Grundsätzlich sieht mein Menü so aus

- Menüpunkt 1
- Unterpunkt 1
- Unterpunkt 2
- Unterpunkt 3

Jetzt hab ich es anfänglich mit einem GMENU gemacht, womit es eigentlich auch ganz gut funktioniert hat. Nun wollte ich das Menü auf Textbasis (TMENU) realisieren. (Aus ganz bestimmten Gründen)
Jetzt hab ich das problem dass das Menü nicht ausklappt wenn man auf den "Menüpunkt 1" klickt. Mit expAll kann ich aber die Unterpunkte anzeigen (das will ich aber nicht)

Was mache ich falsch?

mein TS-Code sieht so aus

    NAVIGATION {
    wrap = <table width="100%" border="1" cellpadding="0" cellspacing="0">|</table>
    special = directory
    special.value = 3

    1 = TMENU
#    1.expAll = true
    1.NO {
      linkWrap = <tr><td><img src="fileadmin/images/navigation/nav_point.png" alt="" />|</td></tr>
    }

    2 < .1
    2.NO {
      linkWrap = <tr><td><img src="fileadmin/images/navigation/nav_subpoint.png" alt="" />|</td></tr>
      }

    3 < .2
  }
Freshmeat ·

ui! das ging aber fix mit der Antwort!

Funktioniert soweit ganz gut... Schau mir da jetzt mal an ob ich es so auch ins Design bring. Lass wieder von mir hören.

Vorerst - herzlichen DANK!

Freshmeat ·

Hmmmm. Habe jetzt einige Zeit damit verbracht... Und irgendwie scheint es einfach nicht klappen zu wollen, so wie ich mir das vorstelle.

Das mit dem ul/li Elementen hat zwar in etwa funktioniert, lässt sich aber nicht super formatieren. Die Unterschiede zwischen Internet Explorer / Firefox sind einfach zu gross.

Grundlegende soll meine Navigation so aussehen:
Bild: gifasdata.ch/…/navigation.gif

Kann ich das überhaupt mit einem TMENU lösen?

PS: Entschuldigung für die vielen Fragen, aber irgendwie kämpf ich mich noch durch den Typo3-Dschungel.. und aufgeben ist nicht drinn 😉

theo ·
Freshmeat schrieb

... lässt sich aber nicht super formatieren. Die Unterschiede zwischen Internet Explorer / Firefox sind einfach zu gross.
...
Kann ich das überhaupt mit einem TMENU lösen?
...
aber irgendwie kämpf ich mich noch durch den Typo3-Dschungel

Die Formatierung läuft zu 100% über CSS. Die Browserunterschiede mußt Du denn auch auf diesem Feld eliminieren, notfalls durch verschiedene CSS-Files, die Du mit CONDITIONS entsprechend lädst.

Im Typoscript muß man am Ende nur noch die Klassen den Menüzuständen zuordnen.

Freshmeat ·

das hab ich gemacht... aber das problem besteht darin dass ich das Padding-Links gar nicht soweit anpassen kann das es geht (minus-werte akzeptiert es ja nicht)

nun ja - anscheinend muss ich aber trotzdem eine lösung mit den ul/li-Tags suchen. habe gerade noch eine idee. Muss es mal versuchen.

Freshmeat ·

naja - hier bin ich wieder 😉

habe das Menü jetzt soweit so formatiert wie ich es haben möchte. Doch die eigentliche Frage meines Threads ist immer noch nicht beantwortet. Wie kann ich machen dass das Menü immer bei der Anwahl des Menüpunktes die Unterpunkte anzeigt?

PS: ich bin der meinung dass das standardmässig so funktionieren müsste, bei mir ist dem aber nicht so.

    NAVIGATION {
      wrap = <table width="160" border="0" cellpadding="0" cellspacing="0">|</table>
      special = directory
      special.value = 3


### Navigationsebene 1
      1 = TMENU
      1 {

        NO = 1
        NO.allWrap = <tr><td class="nav_point"><img src="../nav_point.png" alt="" />|</td></tr>
        NO.stdWrap.htmlSpecialChars = 1

        ACT = 1
        ACT.stdWrap.htmlSpecialChars = 1
        ACT.allWrap = <tr><td class="nav_point"><img src="../nav_point_cur.png" alt="" /><b>|</b></td></tr>

      }

### Navigationsebene 2
      2 = TMENU
      2 {

        wrap = |<tr><td class="nav_spacer"></td></tr>

        NO = 1
        NO.allWrap = <tr><td class="nav_subpoint"><img src="../nav_subpoint.png" alt="" />|</td></tr>
        NO.stdWrap.htmlSpecialChars = 1

        ACT = 1
        ACT.stdWrap.htmlSpecialChars = 1
        ACT.allWrap = <tr><td class="nav_subpoint"><img src="../nav_subpoint_cur.png" alt="" />|</td></tr>

      }

    }
erzengel ·

ehm so wie ich das sehe hast du glaub ich vergessen zu sagen dass es hierarisch ist.

marks.MENUE=HMENU
marks.MENUE.1=TMENU

und expAll=0

Freshmeat ·

also das es ein Hierarchiesches Menü ist, ist weiter oben im Template definiert. expAll ist auf 0 ... mit expAll kann ich allenfalls auch alle auf einmal expandieren lassen. Das funktioniert soweit.

Aber wie lass ich nur das gewünschte Menü expandieren?

erzengel ·

das sollte klappen wenn expAll=0 ist und dann beim draufklicken sollte es aufklappen:

 marks.MENUE=HMENU 
 marks.MENUE.1=TMENU 
 marks.MENUE.1 {
  expAll=0
  NO.allWrap=<li>|<br />
  }
 marks.MENUE.2=TMENU 
 marks.MENUE.2{
  expAll=0
  NO.allWrap=<b>       |</b><br />
  }
 marks.MENUE.3=TMENU 
 marks.MENUE.3{
  expAll=0
  NO.allWrap=|<br />
}

Nix besonderes aber so ist mein menü und es geht ohne probs!

Freshmeat ·

also - ich verzweifle... Entweder stell ich mich doof an oder ich interpretiere das TMENU falsch.

Hier ist mein gesamter TS-Code

page = PAGE
page {
  typeNum = 0

  # Allgemeine Seiteneigenschaften
  stylesheet = fileadmin/css/main.css
  meta.AUTHOR = Cornel Widmer
  meta.DESCRIPTION = Beschreibung der Website

  # Vorlage
  10 = TEMPLATE
  10.template = FILE
  10.template.file = fileadmin/layout.htm
  10.workOnSubpart = DOKUMENT

  # Marks
  10.marks {
    DATUM = TEXT
    DATUM.data = date : d.m.Y
    HEADER = IMAGE
    SUBNAVIGATION = HMENU
    ROOTLINE = HMENU
    NAVIGATION = HMENU
    INFORMATIONEN = IMAGE

    # HEADER
    HEADER {
      file = fileadmin/images/header/dienstleistungen.png
    }

    # Informationen
    INFORMATIONEN {
      file = fileadmin/images/site/gifasdata.png
    }

    # Subnavigation erstellen lassen
    SUBNAVIGATION {
      special = directory
      special.value = 2
      1 = TMENU
      1.NO = 1
      1.NO.linkWrap = | | |*|  || |*|  |
    }

    #Rootline
    ROOTLINE {

      special = rootline
      special.range = 1|-1
      1 = TMENU
      1 {
        NO = 1
        NO.linkWrap = | »  |*| | »  |*| |
      }
    }


    # Navigation erstellen lassen

    NAVIGATION {
      wrap = <table width="100%" border="0" cellpadding="0" cellspacing="0">|</table>
      special = directory
      special.value = 3


### Navigationsebene 1
      1 = TMENU
      1 {

        expAll = 0

        NO = 1
        NO.allWrap = <tr><td class="nav_point"><img src="fileadmin/images/navigation/nav_point.png" alt="" />|</td></tr>
        NO.stdWrap.htmlSpecialChars = 1


        ACT = 1
        ACT.stdWrap.htmlSpecialChars = 1
        ACT.allWrap = <tr><td class="nav_point"><img src="fileadmin/images/navigation/nav_point_cur.png" alt="" /><b>|</b></td></tr>

      }

### Navigationsebene 2
      2 = TMENU
      2 {

        expAll = 0
        wrap = |<tr><td class="nav_spacer"></td></tr>

        NO = 1
        NO.allWrap = <tr><td class="nav_subpoint"><img src="fileadmin/images/navigation/nav_subpoint.png" alt="" />|</td></tr>
        NO.stdWrap.htmlSpecialChars = 1

        ACT = 1
        ACT.stdWrap.htmlSpecialChars = 1
        ACT.allWrap = <tr><td class="nav_subpoint"><img src="fileadmin/images/navigation/nav_subpoint_cur.png" alt="" />|</td></tr>

      }

    }

  }

}

und unter http://www.gifasdata.ch/typo3 könnt ihr das Ergebnis begutachten.

Bitte helft mir! Ich versteh die Typo3-Welt nicht mehr...

Freshmeat ·

sodele ... nach dem ich jetzt wieder ein bisschen Zeit mit diesem Menü verbracht habe sind wir uns sogar ein bisschen näher gekommen :o

also das Ausklappen funktioniert irgendwie nicht wenn das Special als Directory definiert ist...

special = directory

Hab jetzt den Typ auf List eingestellt

special = list

jetzt ist eigentlich nur noch das Problem dass ich die ShortCut-Page "Navigation" immer noch in der Navigation habe und nicht weg bringe... 🙁

- Navigation
-- Menüpunkt 1
-- Menüpunkt 2
--- Unterpunkt 1
--- Unterpunkt 2
-- Menüpunkt 3

Hat jemand eine Idee wie ich es wegbringe?

entryLevel, begin und special.value hab ich schon zig-mal ausprobiert aber das bringt mich dem nicht näher.

Mauki ·

Ich kämpf gerade auch mit einer Navigation, aber das will irgendwie nicht klappen. Wenn ich expALl auf 1 setze wird die Unternavigation auch angezeigt, setze ich dagegen auf 0 sieht man die nicht mehr. Normalerweise sollte doch bei Klick auf einen Hauptpunkt, diese angezeigt werden ?

# Navigation links erstellen
      navi_links = HMENU
      navi_links {

      special = directory
      special.value = 2
      entryLevel = 0

      1 = TMENU
      1.noBlur = 1
      1.expAll = 1

      1.wrap = <ul class="ullevel1">|</ul>
      1.NO = 1
      1.NO.linkWrap = <li class="level_1_NO">|</li>
      1.ACT = 1
      1.ACT.linkWrap = <li class="level_1_ACT">|</li>
      1.ACTIFSUB = 1
      1.ACTIFSUB.linkWrap = <li class="level_1_ACT">|

      2 = TMENU
      2.noBlur = 1
      2.expAll = 1

      2.wrap = <ul class="ullevel2">|</ul></li>
      2.NO = 1
      2.NO.linkWrap = <li class="level_2_NO">|</li>
      2.ACT = 1
      2.ACT.linkWrap = <li class="level_2_ACT">|</li>
      2.ACTIFSUB = 1
      2.ACTIFSUB.linkWrap = <li class="level_2_ACT">|
      }
Freshmeat ·

Ich kann dir zwar keine genaue Problemlösung liefern, jedoch hat es bei mir mit diesem Typoscript funktioniert.

   NAVIGATION {
      wrap = <table width="100%" border="0" cellpadding="0" cellspacing="0">|</table>
      entryLevel = 1
      special = directory
      special.value = 3

### Navigationsebene 1
      1 = TMENU
      1 {

        expAll = 0

        NO = 1
        NO.allWrap = <tr><td class="nav_1_point"><img src="fileadmin/images/navigation/nav_1_point.gif" alt="" />|</td></tr>
        NO.stdWrap.htmlSpecialChars = 1

        ACT = 1
        ACT.allWrap = <tr><td class="nav_1_point"><img src="fileadmin/images/navigation/nav_1_point_cur.gif" alt="" />|</td></tr>
        ACT.stdWrap.htmlSpecialChars = 1

      }

### Navigationsebene 2
      2 = TMENU
      2 {

        expAll = 0

        NO = 1
        NO.allWrap = <tr><td class="nav_2_point"><img src="fileadmin/images/navigation/nav_2_point.gif" alt="" />|</td></tr>
        NO.stdWrap.htmlSpecialChars = 1

        ACT = 1
        ACT.allWrap = <tr><td class="nav_2_point"><img src="fileadmin/images/navigation/nav_2_point_cur.gif" alt="" />|</td></tr>
        ACT.stdWrap.htmlSpecialChars = 1
      }

### Navigationsebene 3
      3 = TMENU
      3 {

        expAll = 0
        wrap = |<tr><td class="nav_spacer"></td></tr>

        NO = 1
        NO.allWrap = <tr><td class="nav_3_point"><img src="fileadmin/images/navigation/nav_3_point.gif" alt="" />|</td></tr>
        NO.stdWrap.htmlSpecialChars = 1

        ACT = 1
        ACT.allWrap = <tr><td class="nav_3_point"><img src="fileadmin/images/navigation/nav_3_point_cur.gif" alt="" />|</td></tr>
        ACT.stdWrap.htmlSpecialChars = 1
      }

   }
Mauki ·

So mit folgendem Code hat es geklappt.

 # Navigation links erstellen
      navi_links = HMENU
      navi_links.special = directory
      navi_links.special.value = 2
      navi_links.entryLevel = 1
      navi_links {

      1 = TMENU
      1.noBlur = 1
      1.expAll = 0
      1.collapse = 0

      1.wrap = <ul class="ullevel1">|</ul>
      1.NO = 1
      1.NO.linkWrap = <li class="level_1_NO">|</li>
      1.ACT = 1
      1.ACT.linkWrap = <li class="level_1_ACT">|</li>
      1.ACTIFSUB = 1
      1.ACTIFSUB.linkWrap = <li class="level_1_ACT">|

      2 = TMENU
      2.noBlur = 1
      2.expAll = 0
      2.collapse = 0      
      2.wrap = <ul class="ullevel2">|</ul></li>
      2.NO = 1
      2.NO.linkWrap = <li class="level_2_NO">|</li>
      2.ACT = 1
      2.ACT.linkWrap = <li class="level_2_ACT">|</li>
      2.ACTIFSUB = 1
      2.ACTIFSUB.linkWrap = <li class="level_2_ACT">|
      }
Mauki ·

Kommando zurück, es funktioniert doch nicht so perfekt.

Wenn die navi_links.entryLevel = 1 drin habe, dann funktioniert es, allerdings erscheint auf der Startseite kein Menü ? Wenn navi_links.entryLevel = 0 mache, dann erscheint zwar das Menü, klappt aber nicht auf ?