Typo3 打字稿:在2级导航中获得1级标题
我需要创建一个菜单,其中,出于移动目的,在所有级别2的条目之前有级别1的标题。示例:我的结构如下所示:Typo3 打字稿:在2级导航中获得1级标题,typo3,typoscript,Typo3,Typoscript,我需要创建一个菜单,其中,出于移动目的,在所有级别2的条目之前有级别1的标题。示例:我的结构如下所示: 团队 马克斯 塞普 计划 项目1 项目2 现在,我希望我的导航如下所示: 团队 团队 马克斯 塞普 项目 计划 项目1 项目2 您想要的是TYPO3菜单的默认行为。您只需要设置正确的包装。在其所属位置进行包装: temp.menu = HMENU temp.menu { 1 = TMENU 1 { expAll = 1
- 团队
- 马克斯
- 塞普
- 计划
- 项目1
- 项目2
-
团队
- 团队
- 马克斯
- 塞普
-
项目
- 计划
- 项目1
- 项目2
您想要的是TYPO3菜单的默认行为。您只需要设置正确的包装。在其所属位置进行包装:
temp.menu = HMENU
temp.menu {
1 = TMENU
1 {
expAll = 1
wrap = <ul>|</ul>
NO = 1
NO {
wrapItemAndSub = <li>|</li>
}
}
// as you have no specific wrapping all levels can be generated the same:
2 < .1
3 < .2
}
temp.menu=HMENU
临时菜单{
1=t菜单
1 {
expAll=1
包裹=|
否=1
没有{
wrapItemAndSub=|
}
}
//由于没有特定的换行,因此可以生成相同的所有级别:
2 < .1
3 < .2
}
如果希望在每个级别上使用特定的换行,可以在复制后对其进行调整(在本例中,您可以看到换行的来源)
temp.menu=HMENU
临时菜单{
1=t菜单
1 {
包裹=
否=1
没有{
wrapItemAndSub=|
}
}
2 < .1
2 {
包裹=
否.wrapItemAndSub=|
}
3 < .2
3 {
包裹=
否.wrapItemAndSub=|
}
}
编辑:问题澄清后:
在菜单中使用LOADREGISTER会导致混乱,因为菜单项不是内联递归生成的 如果要重复菜单项,应就地生成该菜单项。
因此,您需要拆分干净的包装,并使用soem增强的菜单魔术
temp.menu = HMENU
temp.menu {
1 = TMENU
1 {
wrap = <ul class="level1">|</ul>
NO = 1
NO.wrapItemAndSub = <li>|</li>
// only for menuitems which contains further pages:
IFSUB < .NO
IFSUB {
// beginning the part of the submenu
after.cObject = TEXT
after.cObject {
field = nav_title // title
wrap = <div class="dropdown-menu"><ul><li>|</li>
}
}
}
2 < .1
2 {
// no beginning in wrap needed as it is done at level 1
wrap = |</ul></div>
}
}
temp.menu=HMENU
临时菜单{
1=t菜单
1 {
包裹=
否=1
否。wrapItemAndSub=|
//仅适用于包含更多页面的菜单项:
国际单项体育联合会
IFSUB{
//开始子菜单的一部分
after.cObject=TEXT
在cObject之后{
字段=导航标题//标题
包裹=- |
}
}
}
2 < .1
2 {
//不需要在包装中开始,因为它是在级别1中完成的
包裹=|
}
}
进一步的级别需要额外处理。e、 g.:2.IFSUB>
和3.wrap=
注意:如果您想要一个带有标识的干净html,您需要在打字脚本中使用
.noTrimWrap
和多行值。我似乎过度简化了所需的结构-我需要在子导航ul中有一个带有父名称的列表项。我编辑了原始条目以澄清答案,非常感谢!这正是我所需要的!
temp.menu = HMENU
temp.menu {
1 = TMENU
1 {
wrap = <ul class="level1">|</ul>
NO = 1
NO.wrapItemAndSub = <li>|</li>
// only for menuitems which contains further pages:
IFSUB < .NO
IFSUB {
// beginning the part of the submenu
after.cObject = TEXT
after.cObject {
field = nav_title // title
wrap = <div class="dropdown-menu"><ul><li>|</li>
}
}
}
2 < .1
2 {
// no beginning in wrap needed as it is done at level 1
wrap = |</ul></div>
}
}