Zum Inhalt springen

Navigation mit Untertitel erstellen

Erstellt am 1. November 2012 · 8 Antworten · letzte Antwort am 25. Februar 2013

Tags: Frage

jojoschmiddi ·

Ich habe ein Menü in meiner Designvorlage, das ich nun per Typoscript nachbeuen möchte.

Hier mein Quelltext, wie es jetzt aussieht:

<!-- start main menu -->
                    <div class="main-menu">
                        <a href="index.php?id=1"  ><br /><span>is it the home</span></a>
                    </div><!-- end main menu -->

So soll es eigentlich aussehen:

<ul>
                            <li class="active"><a href="#">HOME <span>it is home</span></a></li></ul>

Hier mein TS:

lib.mainNavi = HMENU
lib.mainNavi{
  entryLevel=0
  
  1 = TMENU
  1.NO.stdWrap.cObject = COA
  1.NO.stdWrap.cObject {

    
  10.wrap = <ul>|</ul>
  10.expAll = 0
  10.NO.allWrap = <li class="active">|</li>
  10.RO < .NO
  10.RO = 1
  10.CUR < .NO
  10.CUR = 1
  10.CUR.allWrap = <li class="active">|</li>
  10.ACT < .CUR
  
  20 = TEXT
    20.field = subtitle
    20.wrap =<br /><span>|</span>
}
}

Was ist falsch?

Chrissli ·

Wie wärs damit:

dein Menü kennt nur den NO Zustand.
Dem hast du ein COA zugewiesen, das mit ACT CUR usw nix anfangen kann...

Versuchst doch mal so:

lib.mainNavi = HMENU
lib.mainNavi{
  entryLevel=0
  1 = TMENU
  1 {
    NO = 1
    NO {
      stdWrap.innerWrap = <span>|</span>
      wrapItemAndSub = <li>|</li>
    }
    ACT < .NO
    ACT.wrapItemAndSub = <li class="active">|</li>
    CUR < .ACT
    wrap = <ul>|</ul>
  }
jojoschmiddi ·

Danke für Deine schnelle Antwort.

Aber bei dieser Variante wird der Titel im span-Tag eingefügt. Der Seitenuntertitel soll in das span und davor der eigentliche Titel der Seite.

Chrissli ·

Sorry,

ging an mir vorbei.
Probier's mal so:

lib.mainNavi = HMENU
lib.mainNavi{
  entryLevel=0
  1 = TMENU
  1 {
    NO = 1
    NO {
      doNotLinkIt = 1
      stdWrap {
         cObject = COA
	 cObject {
	   1 = TEXT
	   1.field = title
	   2 = TEXT
	   2.field = subtitle
	   2.wrap = <span>|</span>
	 }
	typolink.parameter.field = uid         
      }
      wrapItemAndSub = <li>|</li>
    }
    ACT < .NO
    ACT.wrapItemAndSub = <li class="active">|</li>
    CUR < .ACT
    wrap = <ul>|</ul>
  }
jojoschmiddi ·

Ich muss diesen Thread erneut aufmachen. Denn ich habe noch ein paar Probleme mit dem Menü.

Das Original Menü sieht in HTML so aus:

<!-- start main menu -->
                    <div class="main-menu">
                        <ul>
                            <li class="active"><a href="#">HOME <span>it is home</span></a>
                                <ul>
                                    <li><a href="index.html">Nivo slider</a></li>
                                    <li><a href="index2.html">Slide down slider</a></li>
                                    <li><a href="index3.html">Elastic Image Slideshow</a></li>
                                    <li class="drop"><a href="">Static Slider</a>
                                            <ul>
                                            <li><a href="index4.html">Slider with center text</a></li>
                                            <li><a href="index5.html">Slider with right video</a></li>
                                            <li><a href="index6.html">Slider with left video</a></li>
                                        </ul>
                                    </li>
                                </ul>
                            </li>
                            <li><a href="#">PAGES <span>about pages</span></a>
                                <ul>
                                    <li><a href="services.html">Services</a></li>
                                    <li><a href="typography.html">Typography</a></li>
                                    <li><a href="shadow-style.html">Shadow and Hover Style</a></li>
                                    <li><a href="pricing-tables.html">Pricing Table</a></li>
                                    <li><a href="table_and_columns.html">Table and Columns</a></li>
                                    <li><a href="sitemap.html">Sitemap</a></li>
                                    <li><a href="faq.html">FAQ's</a></li>
                                  <li><a href="404.html">404 Page</a></li>
                                </ul>
                            </li>
                            <li><a href="#">BLOG <span>blog post</span></a>
                                <ul>
                                   <li><a href="blog-left-sidebar.html">Blog Left Sidebar</a></li>
                                   <li><a href="blog-right-sidebar.html">Blog Right Sidebar</a></li>
                                   <li><a href="blog-details.html">Blog Details</a></li>
                                </ul>
                            </li>
                            <li><a href="about-us.html">ABOUT US <span>who we are</span></a></li>
                            <li><a href="#">PORTOFOLIO <span>it is portofolio</span></a>
                                <ul>
                                    <li><a href="portofolio-1-columns.html">Portofolio one Column</a></li>
                                    <li><a href="portofolio-2-columns.html">Portofolio two Column</a></li>
                                    <li><a href="portofolio-3-columns.html">Portofolio three Column</a></li>
                                </ul>
                            </li>
                            <li><a href="contact-us.html">CONTACT <span>contact us</span></a></li>
                        </ul>
                    </div><!-- end main menu -->

Mein TS-Code sieht so aus:

lib.mainNavi = HMENU
lib.mainNavi{
  entryLevel=0
  1 = TMENU
  1 {
    NO = 1
    NO {
      doNotLinkIt = 1
      stdWrap {
         cObject = COA
   cObject {
     1 = TEXT
     1.field = title
     2 = TEXT
     2.field = subtitle
     2.wrap = <span>|</span>
   }
  typolink.parameter.field = uid         
      }
      wrapItemAndSub = <li>|</li>
    }
    ACT < .NO
    ACT.wrapItemAndSub = <li class="active">|</li>
    CUR < .ACT
    wrap = <ul>|</ul>
  }
  ### Zweite Ebene ###
    2 = TMENU
    2 {
      wrap = <ul>|</ul>
      NO.allWrap = <li>|</li>
    }
  
  }

Das HTML sieht so aus:

<div class="main-menu">
                        <ul><li><a href="index.php?id=1" >HOME<span>is it the home</span></a></li><li><a href="index.php?id=10" >Vorstand<span></span></a></li><li><a href="index.php?id=11" >Sport<span></span></a></li><li class="active"><a href="index.php?id=32" >Events<span></span></a><ul><li><a href="index.php?id=33"  >Rosenmontagsball</a></li><li><a href="index.php?id=34"  >Pfingstsporttage</a></li></ul><li><a href="index.php?id=12" >Galerie<span></span></a></li><li><a href="index.php?id=13" >Shop<span></span></a></li></li></ul>
                    </div><!-- end main menu -->

Im Original sieht man, dass die Drop-Down Ebene der aktiven Seite das startende li class="active" beginnt, aber das schließende li Tag nach dem schließenden ul tag erst erscheint.

Ich weiss nicht weiter und würde mich sehr freuen, wenn mir jemand bei der Umsetzung des Original-Menüs behilflich ist!

Chrissli ·

Versuch doch mal anstelle des allWraps auf der 2. Menüebene ebenfalls "wrapItemAndSub" zu verwenden, denn
du machst bereits einen "LI"-Tag um den Menüpunkt über die erste Ebene und Wrapst anschließend das Untermenü nochmals in ein LI. Das ist doppelt gemoppelt.