TYPO3 8.7.9 - 带有拆分菜单行的手风琴菜单

TYPO3 8.7.9 - Accordion Menu with splitted menu lines

对于移动导航,我使用带有以下简单 TypoScript 的手风琴菜单:

lib.testMenu = HMENU
lib.testMenu {
  entryLevel = 0
  wrap = <div id="mobile_menu">|</div>
    1 = TMENU
    1 {
      expAll = 1
      IFSUB = 1
      IFSUB {
        wrapItemAndSub = <li class="has-sub">|</li>
    }

    wrap = <ul>|</ul>
    NO.wrapItemAndSub = <li>|</li>
  }

   2 < .1
   3 < .1
   3 {
     IFSUB {
        wrapItemAndSub = <li class="has-sub">|</li>
    }
  }
  4 < .3
}

前两级通常只有标题。 class' has-sub' 允许您使用 jquery 打开下一个级别。第三层和第四层是内容。因此,我需要一个菜单​​行,其中包含相应级别网页的 link 和打开其下方级别的 link。 它应该是这样的:

'link-of-the-current layer |'箭头'(link打开下面的图层).'

    <li>link-of-the-current-level</li> 
    <li class="has-sub">' Arrow' (link to open the layer below)' ><ul><li> (...)</li><> (...)</li></ul></li>

没有下层就没有

<li class="has-sub"> (...)</li>.

尽管进行了多次尝试,不幸的是我还没有接近解决方案,因此我很高兴得到任何提示。

如果我没理解错的话,最后的结果应该是:

<li>
  <a href="">Title of the page</a>
</li>
<li class="has-sub">
  'Arrow'
    <ul>
      <li> (...)</li>
      <li> (...)</li>
   </ul>
</li>

我说得对吗?

我认为应该是:

lib.mainmenu = HMENU
lib.mainmenu {
  entryLevel = 0
  wrap = <div id="mobile_menu">|</div>
    1 = TMENU
    1 {
        wrap = <ul>|</ul>
        expAll = 1
        NO.wrapItemAndSub = <li class="first">|</li>      
        IFSUB = 1
        IFSUB {
            wrapItemAndSub = <li class="first has-sub">|</li>
        }   
    }

   2 < .1
   2.NO.wrapItemAndSub = <li class="second">|</li>
   2.IFSUB.wrapItemAndSub = <li class="second has-sub">|</li>
   3 < .1
   3.NO.wrapItemAndSub = <li class="third">|</li>
   3 {
     IFSUB {

        wrapItemAndSub = <li class="third hasarrow">|</li>
        allWrap = |</li><li class="third has-sub">'Arrow'
    }
  }
  4 < .3
  4.NO.wrapItemAndSub = <li class="fourth">|</li>
  4.IFSUB.wrapItemAndSub = <li class="fourth hassub">|</li>
  4.IFSUB.allWrap = |
}

也许不是最干净的解决方案 :) 我想一些 TypoScript 专家可以做得更好 :)

我刚刚添加了一些 类 以便更好地了解我正在打印的级别。让我知道我是否理解正确并且这对你有用。