Reputation: 301
i have a question about the stdwrap in my menu. Here is my code:
ib.nav.main = HMENU
lib.nav.main {
1 = TMENU
1 {
wrap = <ul class="menu sitemenu-submenu-light sitemenu-extra-strong sitemenu-extra-no-arrows">|</ul>
expAll = 1
noBlur = 1
NO = 1
NO {
wrapItemAndSub = <li>|</li>
stdWrap.htmlSpecialChars = 1
ATagParams = class="menu-item menu-separator"
}
ACT < .NO
ACT = 1
ACT{
wrapItemAndSub = <li class="current">|</li>
}
}
2 = TMENU
2 {
expAll = 1
stdWrap.outerWrap = <ul>|</ul>
NO.allWrap = <li>|</li>
noBlur = 1
NO.ATagParams = class="menu-item"
IFSUB = 1
IFSUB {
allWrap = <div class="mega-menu mega-section"><h4 data-role="title">|</h4></div>
ATagParams = class="menu-item"
before.cObject = LOAD_REGISTER
before.cObject.hasSubmenu = TEXT
before.cObject.hasSubmenu.value = 1
}
stdWrap.outerWrap.override.if.isTrue.data = REGISTER:hasSubmenu
stdWrap.outerWrap.override = <div class="mega" data-columns="5">|</div>
wrap.override.if.isTrue.data = REGISTER:hasSubmenu
}
As far as it goes (and as far as i understand it), will this code override my ul with a div, if there is a third level in the navigation. However, this seems to break my layout in the same way, as if i wrote this line without the override:
stdWrap.outerWrap = <div>|</div>
As i learned, i have to put "li" tags in an ul or typoscript breaks the layout and puts in random "li" tags everywhere. However, as i understand my override, it should only replace the ul with the div when there are submenus. It would be interesting to know, why typoscript is behaving this way, when i put "li" tags inside a div (which is wrong, i know ~ usually by templating this won't destroy my template though) and why my override is behaving in such a way. I thought maybe, that i have to reset the value of my Register as it always may be set but i didn't find a way to do so.
edit:
resulting html:
<nav id="navigation" class="site-main-nav">
<ul class="-menu sitemenu-submenu-light sitemenu-extra-strong sitemenu-extra-no-arrows">
<li class="current mega-menu"><a href="index.php?id=74" class="menu-item menu-separator">Unternehmen</a>
<ul>
<li><a href="index.php?id=78" class="menu-item">Stark im Verbund</a></li>
<li><a href="index.php?id=90" class="menu-item">Unternehmensbild</a></li>
<li><a href="index.php?id=91" class="menu-item">Auf einem Blick</a></li>
<li><a href="index.php?id=92" class="menu-item">Zalhen / Daten / Fakten</a></li>
<li><a href="index.php?id=93" class="menu-item">Mitbestimmung</a></li>
<li><a href="index.php?id=94" class="menu-item">Soziale Verantwortung</a></li>
<li><a href="index.php?id=95" class="menu-item">International</a></li>
<li><a href="index.php?id=96" class="menu-item">Personen</a></li>
<li><a href="index.php?id=97" class="menu-item">Imagebroschüre</a></li>
</ul>
</li>
<li class="mega-menu"><a href="index.php?id=75" class="menu-item menu-separator">Mitglieder</a>
<div class="-mega" data-columns="5">
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=82" class="menu-item">Warenprogramme</a></h4>
<ul>
<li><a href="index.php?id=102" class="menu-item">Industriepartner</a></li>
<li><a href="index.php?id=103" class="menu-item">Starseller</a></li>
<li><a href="index.php?id=104" class="menu-item">Voting</a></li>
<li><a href="index.php?id=105" class="menu-item">Mandatmodell</a></li>
<li><a href="index.php?id=106" class="menu-item">Topseller</a></li>
<li><a href="index.php?id=107" class="menu-item">Listing</a></li>
<li><a href="index.php?id=108" class="menu-item">Sport</a></li>
<li><a href="index.php?id=109" class="menu-item">Exclusivmarken</a></li>
</ul>
</div>
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=98" class="menu-item">Messe-
& Ordercenter</a></h4>
<ul>
<li><a href="index.php?id=110" class="menu-item"> Campus</a></li>
<li><a href="index.php?id=111" class="menu-item">Messen auf einem Blick</a></li>
<li><a href="index.php?id=112" class="menu-item"> First Order</a></li>
<li><a href="index.php?id=113" class="menu-item"> Fashion Days</a></li>
<li><a href="index.php?id=114" class="menu-item"> auf der GDS</a></li>
<li><a href="index.php?id=115" class="menu-item">Rundreise</a></li>
<li><a href="index.php?id=116" class="menu-item">Termine</a></li>
</ul>
</div>
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=99" class="menu-item">Fachberatung</a>
</h4>
<ul>
<li><a href="index.php?id=117" class="menu-item">Strategie/Sortiment</a></li>
<li><a href="index.php?id=118" class="menu-item">Lieferantenanalyse</a></li>
<li><a href="index.php?id=119" class="menu-item">Betriebsvergleich</a></li>
<li><a href="index.php?id=120" class="menu-item">Seminare & Trainings</a>
</li>
<li><a href="index.php?id=121" class="menu-item">Unternehmensberatung</a></li>
<li><a href="index.php?id=122" class="menu-item">Steuerberatung</a></li>
<li><a href="index.php?id=123" class="menu-item">Rechtsberatung</a></li>
<li><a href="index.php?id=124" class="menu-item">ERFA-Tagung</a></li>
<li><a href="index.php?id=125" class="menu-item">Prozessberatung</a></li>
</ul>
</div>
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=100" class="menu-item">Finanzen</a></h4>
<ul>
<li><a href="index.php?id=126" class="menu-item">DZB ZR</a></li>
<li><a href="index.php?id=127" class="menu-item">DZB Finanz</a></li>
<li><a href="index.php?id=128" class="menu-item">DZB Cash</a></li>
</ul>
</div>
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=101" class="menu-item">Marketing</a></h4>
<ul>
<li><a href="index.php?id=130" class="menu-item">Marketingbausteine</a></li>
<li><a href="index.php?id=131" class="menu-item">Saisonwerbung</a></li>
<li><a href="index.php?id=132" class="menu-item">Homepage-Baukasten</a></li>
</ul>
</div>
</div>
</li>
<li class="mega-menu"><a href="index.php?id=76" class="menu-item menu-separator">Industriepartner</a>
<div class="-mega" data-columns="5">
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=134" class="menu-item">Warenprogramme</a></h4>
<ul>
<li><a href="index.php?id=142" class="menu-item">Industriepartner</a></li>
<li><a href="index.php?id=141" class="menu-item">Starseller</a></li>
<li><a href="index.php?id=140" class="menu-item">Voting</a></li>
<li><a href="index.php?id=139" class="menu-item">Mandatmodell</a></li>
<li><a href="index.php?id=138" class="menu-item">Topseller</a></li>
<li><a href="index.php?id=137" class="menu-item">Listing</a></li>
<li><a href="index.php?id=136" class="menu-item">Sport</a></li>
<li><a href="index.php?id=135" class="menu-item">Exclusivmarken</a></li>
</ul>
</div>
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=143" class="menu-item">Messe- & Ordercenter</a></h4>
<ul>
<li><a href="index.php?id=150" class="menu-item"> Campus</a></li>
<li><a href="index.php?id=149" class="menu-item">Messen auf einem Blick</a></li>
<li><a href="index.php?id=148" class="menu-item"> First Order</a></li>
<li><a href="index.php?id=147" class="menu-item"> Fashion Days</a></li>
<li><a href="index.php?id=146" class="menu-item"> auf der GDS</a></li>
<li><a href="index.php?id=145" class="menu-item">Rundreise</a></li>
<li><a href="index.php?id=144" class="menu-item">Termine</a></li>
</ul>
</div>
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=151" class="menu-item">Dienstleistungen</a></h4>
<ul>
<li><a href="index.php?id=153" class="menu-item">Industriepartner-Marketing</a>
</li>
<li><a href="index.php?id=154" class="menu-item">Prozessberatung</a></li>
<li><a href="index.php?id=155" class="menu-item">Lieferantenförderung</a></li>
</ul>
</div>
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=152" class="menu-item">Finanzen</a></h4>
<ul>
<li><a href="index.php?id=156" class="menu-item">Zentralregulierung</a></li>
</ul>
</div>
</div>
</li>
<li><a href="index.php?id=157" class="menu-item">Links</a></li>
</ul>
</nav>
</div>
<li class="mega-menu"><a href="index.php?id=83" class="menu-item menu-separator">News</a>
<div class="-mega" data-columns="5"></div>
</li>
<li><a href="index.php?id=158" class="menu-item"> News</a></li>
<li><a href="index.php?id=159" class="menu-item"> in der Presse</a></li>
<li><a href="index.php?id=160" class="menu-item">Foto-& Videogalerie</a></li>
<li><a href="index.php?id=161" class="menu-item">Schuhverliebt</a></li>
</div>
<li class="mega-menu"><a href="index.php?id=77" class="menu-item menu-separator">Händlersuche</a></li>
<li class="mega-menu"><a href="index.php?id=88" class="menu-item menu-separator">Karriere</a>
<div class="-mega" data-columns="5"></div>
</li>
<li><a href="index.php?id=162" class="menu-item">Stellenangebote</a></li>
<li><a href="index.php?id=163" class="menu-item">Die als Arbeitgeber</a></li>
<li><a href="index.php?id=164" class="menu-item">Ausbildung</a></li>
<li><a href="index.php?id=165" class="menu-item">Duales Studium</a></li>
<li><a href="index.php?id=166" class="menu-item">Direkteinstieg</a></li>
expected HTML:
<nav id="navigation" class="site-main-nav">
<ul class="-menu sitemenu-submenu-light sitemenu-extra-strong sitemenu-extra-no-arrows">
<li class="current mega-menu"><a href="index.php?id=74" class="menu-item menu-separator">Unternehmen</a>
<ul>
<li><a href="index.php?id=78" class="menu-item">Stark im Verbund</a></li>
<li><a href="index.php?id=90" class="menu-item">Unternehmensbild</a></li>
<li><a href="index.php?id=91" class="menu-item">Auf einem Blick</a></li>
<li><a href="index.php?id=92" class="menu-item">Zalhen / Daten / Fakten</a></li>
<li><a href="index.php?id=93" class="menu-item">Mitbestimmung</a></li>
<li><a href="index.php?id=94" class="menu-item">Soziale Verantwortung</a></li>
<li><a href="index.php?id=95" class="menu-item">International</a></li>
<li><a href="index.php?id=96" class="menu-item">Personen</a></li>
<li><a href="index.php?id=97" class="menu-item">Imagebroschüre</a></li>
</ul>
</li>
<li class="mega-menu"><a href="index.php?id=75" class="menu-item menu-separator">Mitglieder</a>
<div class="-mega" data-columns="5">
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=82" class="menu-item">Warenprogramme</a>
</h4>
<ul>
<li><a href="index.php?id=102" class="menu-item">Industriepartner</a></li>
<li><a href="index.php?id=103" class="menu-item">Starseller</a></li>
<li><a href="index.php?id=104" class="menu-item">Voting</a></li>
<li><a href="index.php?id=105" class="menu-item">Mandatmodell</a></li>
<li><a href="index.php?id=106" class="menu-item">Topseller</a></li>
<li><a href="index.php?id=107" class="menu-item">Listing</a></li>
<li><a href="index.php?id=108" class="menu-item">Sport</a></li>
<li><a href="index.php?id=109" class="menu-item">Exclusivmarken</a></li>
</ul>
</div>
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=98" class="menu-item">Messe- &
Ordercenter</a></h4>
<ul>
<li><a href="index.php?id=110" class="menu-item"> Campus</a></li>
<li><a href="index.php?id=111" class="menu-item">Messen auf einem Blick</a></li>
<li><a href="index.php?id=112" class="menu-item"> First Order</a></li>
<li><a href="index.php?id=113" class="menu-item"> Fashion Days</a></li>
<li><a href="index.php?id=114" class="menu-item"> auf der GDS</a></li>
<li><a href="index.php?id=115" class="menu-item">Rundreise</a></li>
<li><a href="index.php?id=116" class="menu-item">Termine</a></li>
</ul>
</div>
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=99" class="menu-item">Fachberatung</a>
</h4>
<ul>
<li><a href="index.php?id=117" class="menu-item">Strategie/Sortiment</a></li>
<li><a href="index.php?id=118" class="menu-item">Lieferantenanalyse</a></li>
<li><a href="index.php?id=119" class="menu-item">Betriebsvergleich</a></li>
<li><a href="index.php?id=120" class="menu-item">Seminare & Trainings</a></li>
<li><a href="index.php?id=121" class="menu-item">Unternehmensberatung</a></li>
<li><a href="index.php?id=122" class="menu-item">Steuerberatung</a></li>
<li><a href="index.php?id=123" class="menu-item">Rechtsberatung</a></li>
<li><a href="index.php?id=124" class="menu-item">ERFA-Tagung</a></li>
<li><a href="index.php?id=125" class="menu-item">Prozessberatung</a></li>
</ul>
</div>
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=100" class="menu-item">Finanzen</a></h4>
<ul>
<li><a href="index.php?id=126" class="menu-item">DZB ZR</a></li>
<li><a href="index.php?id=127" class="menu-item">DZB Finanz</a></li>
<li><a href="index.php?id=128" class="menu-item">DZB Cash</a></li>
</ul>
</div>
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=101" class="menu-item">Marketing</a></h4>
<ul>
<li><a href="index.php?id=130" class="menu-item">Marketingbausteine</a></li>
<li><a href="index.php?id=131" class="menu-item">Saisonwerbung</a></li>
<li><a href="index.php?id=132" class="menu-item">Homepage-Baukasten</a></li>
</ul>
</div>
</div>
</li>
<li class="mega-menu"><a href="index.php?id=76" class="menu-item menu-separator">Industriepartner</a>
<div class="-mega" data-columns="5">
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=134" class="menu-item">Warenprogramme</a>
</h4>
<ul>
<li><a href="index.php?id=142" class="menu-item">Industriepartner</a></li>
<li><a href="index.php?id=141" class="menu-item">Starseller</a></li>
<li><a href="index.php?id=140" class="menu-item">Voting</a></li>
<li><a href="index.php?id=139" class="menu-item">Mandatmodell</a></li>
<li><a href="index.php?id=138" class="menu-item">Topseller</a></li>
<li><a href="index.php?id=137" class="menu-item">Listing</a></li>
<li><a href="index.php?id=136" class="menu-item">Sport</a></li>
<li><a href="index.php?id=135" class="menu-item">Exclusivmarken</a></li>
</ul>
</div>
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=143" class="menu-item">Messe- &
Ordercenter</a></h4>
<ul>
<li><a href="index.php?id=150" class="menu-item"> Campus</a></li>
<li><a href="index.php?id=149" class="menu-item">Messen auf einem Blick</a></li>
<li><a href="index.php?id=148" class="menu-item"> First Order</a></li>
<li><a href="index.php?id=147" class="menu-item"> Fashion Days</a></li>
<li><a href="index.php?id=146" class="menu-item"> auf der GDS</a></li>
<li><a href="index.php?id=145" class="menu-item">Rundreise</a></li>
<li><a href="index.php?id=144" class="menu-item">Termine</a></li>
</ul>
</div>
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=151" class="menu-item">Dienstleistungen</a>
</h4>
<ul>
<li><a href="index.php?id=153" class="menu-item">Industriepartner-Marketing</a></li>
<li><a href="index.php?id=154" class="menu-item">Prozessberatung</a></li>
<li><a href="index.php?id=155" class="menu-item">Lieferantenförderung</a></li>
</ul>
</div>
<div class="mega-menu -mega-section"><h4 data-role="title"><a href="index.php?id=152" class="menu-item">Finanzen</a></h4>
<ul>
<li><a href="index.php?id=156" class="menu-item">Zentralregulierung</a></li>
</ul>
</div>
<a href="index.php?id=157" class="menu-item">Links</a></div>
</li>
<li class="mega-menu"><a href="index.php?id=83" class="menu-item menu-separator">News</a>
<div class="-mega" data-columns="5">
<a href="index.php?id=158" class="menu-item"> News</a>
<a href="index.php?id=159" class="menu-item"> in der Presse</a>
<a href="index.php?id=160" class="menu-item">Foto-&Videogalerie</a>
<a href="index.php?id=161" class="menu-item">Schuhverliebt</a>
</div>
</li>
<li class="mega-menu"><a href="index.php?id=77" class="menu-item menu-separator">Händlersuche</a></li>
<li class="mega-menu"><a href="index.php?id=88" class="menu-item menu-separator">Karriere</a>
<div class="-mega" data-columns="5">
<a href="index.php?id=162" class="menu-item">Stellenangebote</a>
<a href="index.php?id=163" class="menu-item">Die als Arbeitgeber</a>
<a href="index.php?id=164" class="menu-item">Ausbildung</a>
<a href="index.php?id=165" class="menu-item">Duales Studium</a>
<a href="index.php?id=166" class="menu-item">Direkteinstieg</a>
</div>
</li>
<li class="mega-menu"><a href="index.php?id=89" class="menu-item menu-separator">Kontakt</a></li>
</ul>
Upvotes: 0
Views: 1131
Reputation: 4578
You must have an <ul>
around <li>
. Please also mind the order of the stdWrap
.
You can find nice cheat sheets on the official documentation (stdWrap overview for cObjects
and stdWrap overview for menu objects
): http://docs.typo3.org/typo3cms/CheatSheets.html
After you update your question, here is the update to the answer.
TypoScript
does not care about your HTML. TypoScript
ist not smart at all. It will just create any string
and you define. If your resulting HTML is wrong, that means your instructions to the page renderer
(that is what TypoScript
is) are wrong. You need to check what gets generated where and how this is attached together to form the final string
that is returned to the browser.
Please post the broken and the expected HTML.
Upvotes: 1