Zum Inhalt springen

Problem mit "Subnavigation" ....

Erstellt am 14. Februar 2007 · 5 Antworten · letzte Antwort am 14. Februar 2007

Tags: Frage

localhorst81 ·

Hallo allezusammen,
ich grübel nun schon seit gestern mit dem Problem herum eine Subnavigation (als DIV im HTML) erst dann sichtbar zu machen wenn dies erforderlich ist, doch leider komme ich nicht weiter.

Ich habe also in meinem HTML Template 3 DIVs die untereinanderliegen und die letzten beiden sollen jeweils nacheinander sichtbar werden wenn die übergeordnete Navigation entsprechende Suchbereiche hat.

Hier mal der HTML Code:

<div class="navigation_top">
<!-- ###MAINNAVI_A### begin -->
<!-- ###MAINNAVI_A### end -->
</div>
<div class="navigation_middle">
<!-- ###MAINNAVI_B### begin -->
<!-- ###MAINNAVI_B### end -->
</div>
<div class="navigation_bottom">
<!-- ###MAINNAVI_C### begin -->
<!-- ###MAINNAVI_C### end -->
</div>

Und hier das Typoscript:

temp.mainnavi_a = HMENU
temp.mainnavi_a { 
   wrap = <ul>|</ul>
   1 = TMENU
   1 {
       NO = 1
       NO.allWrap = <li>|</li>
       NO.stdWrap.htmlSpecialChars = 1
       ACT = 1
       ACT.allWrap = <li class="active">|</li>
       ACT.stdWrap.htmlSpecialChars = 1
       ACTIFSUB = 1
       ACTIFSUB.allWrap = <li class="ebene2-active-sub">|
       ACTIFSUB.stdWrap.htmlSpecialChars = 1
     }

   2 = TMENU
   2 {
       wrap = <ul class="ebene3">|</ul></li>
       NO = 1
       NO.allWrap = <li class="ebene3">|</li>
       NO.stdWrap.htmlSpecialChars = 1
       ACT = 1
       ACT.allWrap = <li class="ebene3-active">|</li>
       ACT.stdWrap.htmlSpecialChars = 1
     }
}

... das ich mir von woanders mal "entliehen" habe 😃
Habe es eingebunden, und mir die Seite angeschaut, und bisher war alles wie gewohnt vorhanden:
Bild: img407.imageshack.us/…/navnormalit3.gif

nun switche ich auf einen bereich der noch Unterbereiche hat, und siehe da "es funktioniert fast" schon so wie ich es haben will:
Bild: img242.imageshack.us/…/subnavnormalxm2.gif
... nur eben "fast"!

So wie ich das sehe, werden (wenn Unterkategorieren vorhanden sind) diese in einem neuen Listenelement einfach nur drangehangen.

Nun meine Frage: Wie schaffe ich es nun am einfachsten die untergeordneten DIVs (zb. anhand der ID und einer CSS eigenschaft wie display:block etc.) anzuzeigen wenn entsprechender Inhalt vorhanden ist ?

Bin Dankbar für jeden hilfreichen TIP 😃

Gruß
Robin

mischa ·

Probier mal statt

ACT.allWrap = <li class="active">|</li>

in der ersten Ebene

ACT.wrapItemAndSub = <li class="active">|</li>
just2b ·

bzw überall ein wrapItemAndSub und dann brauchst du auch die verschachtelungen beim wrap nicht mehr, da reicht dann ein <ul>|</ul>

sonst such nach listenmenüs, da gibt es genügend valide

georg

localhorst81 ·

Erstmal Danke an euch beide,
doch leider hat dies mein Problem nicht gelöst.

Ich habe aber jetzt mal folgendes probiert:

temp.mainnavi_a = HMENU
temp.mainnavi_a { 
   wrap = <ul>|</ul>
   1 = TMENU
   1 {
       NO = 1
       NO.allWrap = <li>|</li>
       NO.stdWrap.htmlSpecialChars = 1
       ACT = 1
       ACT.wrapItemAndSub = <li class="active">|</li>       
       ACT.stdWrap.htmlSpecialChars = 1
       ACTIFSUB = 1
       ACTIFSUB.allWrap = <li class="ebene2-active-sub">|
       ACTIFSUB.stdWrap.htmlSpecialChars = 1
     }

   2 = TMENU
   2 {
       wrap = <div class="navigation_middle"><ul class="ebene3">|</ul></li></div>
       NO = 1
       NO.allWrap = <li class="ebene3">|</li>
       NO.stdWrap.htmlSpecialChars = 1
       ACT = 1
       ACT.wrapItemAndSub = <li class="active">|</li>
       ACT.stdWrap.htmlSpecialChars = 1
     }

   3 = TMENU
   3 {
       wrap = <div class="navigation_bottom"><ul class="ebene3">|</ul></li></div>
       NO = 1
       NO.allWrap = <li class="ebene3">|</li>
       NO.stdWrap.htmlSpecialChars = 1
       ACT = 1
       ACT.wrapItemAndSub = <li class="active">|</li>
       ACT.stdWrap.htmlSpecialChars = 1
     }
}

was dann so aussieht:
Bild: img180.imageshack.us/…/subnavextra4.gif

Im prinzip will ich das ja auch so haben, nur sollte sich halt die "neue" Unternavigation an die bisherige anknüpfen, und "nicht" wie es bisher ist "in der" aktuellen Navigation an das Element welches die Unterpunkte beinhaltet.
Ich habe leider bisher nur Navigationen gefunden die nach diesem prinzip vorgehen.

Über weitere Hilfe wäre ich wirklich dankbar 😃

Gruß
Robin

localhorst81 ·
just2b schrieb

dann brauchst du im grunde sowas
#25103

georg

ty,
habe mir das mal abgekupfert und versucht anzupassen, doch ist das leider auch wieder nicht zufriedenstellend.

temp.mainnavi_a = HMENU
temp.mainnavi_a {
        1 = TMENU
        1 {
                noBlur = 1
                expAll = 0
       
                NO.allWrap = <strong> | </strong>
                wrap = <div class="navigation_top"> | </div>
                ACT < .NO
                ACT = 1
                ACT.allWrap = <strong> | </strong>
        }

        2 = TMENU
        2 {
                noBlur = 1
                expAll = 0
       
                NO.allWrap = <strong> | </strong>
                wrap = <div class="navigation_middle"> | </div>
                ACT < .NO
                ACT = 1
                ACT.allWrap = <strong> | </strong>
        }


        3 = TMENU
        3 {
                noBlur = 1
                expAll = 0       
       
                NO.allWrap = <strong> | </strong>
                wrap = <div class="navigation_bottom"> | </div>
                ACT < .NO
                ACT = 1
                ACT.allWrap = <strong> | </strong>
        }
}

Bild: img103.imageshack.us/…/subnavext2ca0.gif

Wenn ich das Menue von Proximo 1:1 übernehmen werden ja auch entsprechend des typoscript die "Kategorien" untereinander in den DIVs angezeigt, aber nicht wie ich es machen muss in einer Zeile und jeweils nur die Unterkategorien in den DIVs darunter.

Habe es oben in meinem TS mal so gemacht das ich für jedes Menu ein eigenes DIV benutze, doch wieder wird es im bisherigen DIV erstellt.

Ich mich mal etwas durch die TSREF gelesen, nur kann ich einfach nicht erlesen wie ich das Menue gestalten muss wie ich es haben will.

oO