基于 pid 的 HMENU 中的 TYPO3 CASE
TYPO3 CASE within HMENU based on pid
我正在尝试根据父 ID 使我的 HMENU 的第二级有所不同。
具体来说,我需要在pid为特定数字时,在TMENU中添加COA
我想我应该能够使用 CASE 以某种方式做到这一点,但我还没有找到正确的设置来让它正常工作。
这是我的错误代码,它显示了我想做的事情:
lib.mymenu = HMENU
lib.mymenu {
1 = TMENU
1 {
...
}
2 = CASE
2 {
key.field = pid
default = TMENU
default {
stdWrap.wrap = <ul>|</ul>
expAll = 1
NO = 1
NO.wrapItemAndSub = <li>|</li>
}
23 = TMENU
23 {
stdWrap.wrap = <ul>|</ul>
expAll = 1
NO = 1
NO.stdWrap.cObject = COA
NO.stdWrap.cObject {
...
}
}
}
}
我怀疑你有那个级别的 pid。
由于主要部分是相同的,我只会在 stdWrap 上使用简单的 if-wrap 有所不同:
2 = TMENU
2 {
stdWrap.wrap = <ul>|</ul>
expAll = 1
NO = 1
NO {
wrapItemAndSub = <li>|</li>
/// what wrap do you want to use???
stdWrap.wrap {
cObject = COA
cObject {
:
}
if.equals.field = pid
if.value = 23
}
}
在您的代码中,您还在 stdWrap
上使用了 cObject
,这不匹配,因为 stdWrap
不是活动包装,而是一组(包装)函数的容器。
我正在尝试根据父 ID 使我的 HMENU 的第二级有所不同。
具体来说,我需要在pid为特定数字时,在TMENU中添加COA
我想我应该能够使用 CASE 以某种方式做到这一点,但我还没有找到正确的设置来让它正常工作。
这是我的错误代码,它显示了我想做的事情:
lib.mymenu = HMENU
lib.mymenu {
1 = TMENU
1 {
...
}
2 = CASE
2 {
key.field = pid
default = TMENU
default {
stdWrap.wrap = <ul>|</ul>
expAll = 1
NO = 1
NO.wrapItemAndSub = <li>|</li>
}
23 = TMENU
23 {
stdWrap.wrap = <ul>|</ul>
expAll = 1
NO = 1
NO.stdWrap.cObject = COA
NO.stdWrap.cObject {
...
}
}
}
}
我怀疑你有那个级别的 pid。
由于主要部分是相同的,我只会在 stdWrap 上使用简单的 if-wrap 有所不同:
2 = TMENU
2 {
stdWrap.wrap = <ul>|</ul>
expAll = 1
NO = 1
NO {
wrapItemAndSub = <li>|</li>
/// what wrap do you want to use???
stdWrap.wrap {
cObject = COA
cObject {
:
}
if.equals.field = pid
if.value = 23
}
}
在您的代码中,您还在 stdWrap
上使用了 cObject
,这不匹配,因为 stdWrap
不是活动包装,而是一组(包装)函数的容器。