gpt4 book ai didi

typo3 - TYPO3 菜单中的 ID 使用寄存器 0x​​104567911 进行计数

转载 作者:行者123 更新时间:2023-12-04 18:29:12 25 4
gpt4 key购买 nike

我在 TYPO3 中为 bootstrap 框架制作了菜单。一切正常,但我在使用 register:count_MENUOBJ 计算 id 元素时遇到问题。整个菜单由两部分构成——主菜单和子菜单:

page = PAGE
page.10 = HMENU
page.10.special = directory
page.10.entryLevel = 0
page.10.maxItems = 6
page.10 {
1 = TMENU
1 {

wrap = <div class="row"><ul class="nav nav-tabs pull-right" id="myTab" role="tablist">|</ul></div>
noBlur = 1
expAll = 1
NO {
ATagTitle.field = title
wrapItemAndSub = <li class="dropdown">|</li>
stdWrap.htmlSpecialChars = 1
accessKey = 1
}

IFSUB < .NO
IFSUB = 1
IFSUB {
wrapItemAndSub = <li class="dropdown">|</li>
linkWrap= |
ATagParams = role="button" data-toggle="collapse" data-target="#item-{register:count_MENUOBJ}"
ATagParams.insertData = 1
ATagBeforeWrap = 1
stdWrap.htmlSpecialChars = 1
}

ACTIFSUB < .IFSUB
ACTIFSUB {
wrapItemAndSub = <li class="active dropdown">|</li>
}

ACT < .NO
ACT = 1
ACT {
wrapItemAndSub = <li class="active">|</li>
}

CURIFSUB < .IFSUB
CURIFSUB = 1
CURIFSUB {
wrapItemAndSub = <li class="active dropdown">|</li>
}
}
}

page.20 = HMENU
page.20.special = directory
page.20.entryLevel = 0
page.20.maxItems = 6
page.20 {
1 = TMENU
1 {
wrap = <div class="row"><div class="tab-content">|</div></div>
noBlur = 1
expAll = 1
NO.doNotShowLink = 1
}
# second level
2.maxItems = 5
2 = TMENU
2.stdWrap.wrap = <div class="tab-pane fade in active pull-right" id="item-{register:count_MENUOBJ}"><nav class="navbar navbar-default pull-right submenu" role="navigation"><ul class="nav navbar-nav in">|</ul></nav></div>
2.stdWrap.wrap.insertData = 1
2{
expAll = 1
NO{
ATagTitle.field = title
wrapItemAndSub = <li>|</li>
}
IFSUB = 1
IFSUB{
ATagTitle.field = title
wrapItemAndSub = <li>|</li>
}
}
}

在第一个菜单 block 中,链接具有正确的值:data-target="#item-1"data-target="#item-2" 等..

在第二个 block 中,所有链接都以这种形式生成:id="item-5" starting and ending on item-5

有什么建议吗?

最佳答案

register:count_MENUOBJ 正在对使用它的上下文中的菜单项进行计数。

在第一个菜单中,它在主要项目的上下文中使用,因此按菜单项目的自然顺序计数,如索引。这可能是 register:count_MENUOBJ 的功能仍然令人困惑,甚至在该上下文中可用的原因。

在第二个菜单中,register:count_MENUOBJ 用于子菜单项的上下文并计算第 2 级上的子项。因此,如果在第 2 级上有 3 个子项,则寄存器是 3。如果有 5 个子项,则为 5。在这种情况下,register:count_MENUOBJ 不能用作索引,因为子项的数量从不反射(reflect)问题的预期值。

因此,要获得唯一 ID,通常的做法是对页面或内容元素使用 p{field:uid} c{field:uid}

例子:

...
NO.wrapItemAndSub = <li id="nav-main-p{field:uid}">|</li>
NO.wrapItemAndSub.insertData = 1
...

另一种选择是在第二级菜单中也使用 register:count_MENUOBJ,这也是第一级。询问问题中的菜单是否具有所需的属性。

关于typo3 - TYPO3 菜单中的 ID 使用寄存器 0x​​104567911 进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24754939/

25 4 0