typoscript中的Tmenu中的stdWrap.outerwrap

时间:2015-05-05 13:49:39

标签: typo3 typoscript

我对菜单中的stdwrap有疑问。这是我的代码:

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
}

就它而言(据我所知),如果导航中有第三级,此代码是否会用div覆盖我的ul。然而,这似乎以同样的方式打破了我的布局,好像我在没有覆盖的情况下编写了这一行:

stdWrap.outerWrap = <div>|</div>

据我所知,我必须把&#34; li&#34; ul或typoscript中的标签会破坏布局并随意放入&#34; li&#34;标签到处都是但是,正如我理解我的覆盖,它只应该在有子菜单时用div替换ul。有趣的是,为什么typoscript会以这种方式表现,当我把&#34; li&#34; div中的标签(这是错误的,我知道〜通常通过模板化,这不会破坏我的模板)以及为什么我的覆盖行为是这样的。我想也许,我必须重置我的寄存器的值,因为它总是可以设置,但我没有找到办法这样做。

编辑:

结果是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-
         &amp; 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 &amp; 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- &amp; 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-&amp; 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>

预期的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- &amp;
                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 &amp; 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- &amp;
                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-&amp;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>

1 个答案:

答案 0 :(得分:1)

<ul>周围必须有<li>。还请注意stdWrap的顺序。 您可以在官方文档(stdWrap overview for cObjectsstdWrap overview for menu objects)上找到精美的备忘单:http://docs.typo3.org/typo3cms/CheatSheets.html

更新问题后,这是答案的更新。

TypoScript并不关心您的HTML。 TypoScript根本不聪明。它只会创建任何string并定义。如果生成的HTML错误,则表示您对page renderer(即TypoScript)的指示是错误的。您需要检查生成的内容以及如何将它们连接在一起以形成返回给浏览器的最终string

请发布破碎的和预期的HTML。