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 专家可以做得更好 :)
我刚刚添加了一些 类 以便更好地了解我正在打印的级别。让我知道我是否理解正确并且这对你有用。
对于移动导航,我使用带有以下简单 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 专家可以做得更好 :)
我刚刚添加了一些 类 以便更好地了解我正在打印的级别。让我知道我是否理解正确并且这对你有用。