如果在菜单中选中页面页面选项中的复选框,则覆盖 allWrap
Overwrite allWrap if checkbox in page page options is checked in menu
如果页面选项中的复选框被选中,我想覆盖错字菜单定义中的 allWrap 选项。以下页面应该突出显示,所以我需要在列表标签中添加一个额外的 css class。
在我的页面选项中,我有一个名为 tx_mask_highlight_nav
的布尔值。
所以在我的流体模板中,我可以使用 {page.tx_mask_highlight_nav}
进行访问。
但我的打字错误菜单定义中需要这个。
我目前的做法是这样的:
lib.menu_main = COA
lib.menu_main {
10 = HMENU
10 {
entryLevel = 0
wrap = |
1 = TMENU
1 {
expAll = 1
NO.allWrap = <li>|</li>
NO.ATagTitle.field = abstract // description // title
NO.allWrap.override = <li class="menu-item--bold">|</li>
NO.allWrap.override.if {
isTrue.data = page:tx_mask_highlight_nav
}
ACT = 1
ACT.wrapItemAndSub = <li class="active">|</li>
ACT.ATagTitle.field = abstract // description // title
IFSUB = 1
IFSUB.wrapItemAndSub = <li>|</li>
IFSUB.ATagTitle.field = abstract // description // title
ACTIFSUB = 1
ACTIFSUB.wrapItemAndSub = <li class="active">|</li>
ACTIFSUB.ATagTitle.field = abstract // description // title
}
1 {
wrap = <ul class="dropdown menu menu--main" data-dropdown-menu>|</ul>
}
2 < .1
2 {
wrap = <ul class="menu vertical">|</ul>
}
3 < .2
4 < .3
5 < .4
}
}
我已经尝试了其他几种方法,例如:
NO.allWrap.override = <li class="menu-item--bold">|</li>
No.allWrap.override.if {
value = page:tx_mask_highlight_nav
equals = 1
}
但是没有用。也许我无法访问 page:tx_mask_highlight_nav
?
非常感谢您的帮助!
用字段替换数据。使用 NO.allWrap.override.if.isTrue.field = tx_mask_highlight_nav
完整的 TypoScript
lib.menu_main = COA
lib.menu_main {
10 = HMENU
10 {
entryLevel = 0
wrap = |
1 = TMENU
1 {
expAll = 1
NO.allWrap = <li>|</li>
NO.ATagTitle.field = abstract // description // title
NO.allWrap.override = <li class="menu-item--bold">|</li>
NO.allWrap.override.if.isTrue.field = tx_mask_highlight_nav
ACT = 1
ACT.wrapItemAndSub = <li class="active">|</li>
ACT.ATagTitle.field = abstract // description // title
IFSUB = 1
IFSUB.wrapItemAndSub = <li>|</li>
IFSUB.ATagTitle.field = abstract // description // title
ACTIFSUB = 1
ACTIFSUB.wrapItemAndSub = <li class="active">|</li>
ACTIFSUB.ATagTitle.field = abstract // description // title
}
1 {
wrap = <ul class="dropdown menu menu--main" data-dropdown-menu>|</ul>
}
2 < .1
2 {
wrap = <ul class="menu vertical">|</ul>
}
3 < .2
4 < .3
5 < .4
}
}
如果页面选项中的复选框被选中,我想覆盖错字菜单定义中的 allWrap 选项。以下页面应该突出显示,所以我需要在列表标签中添加一个额外的 css class。
在我的页面选项中,我有一个名为 tx_mask_highlight_nav
的布尔值。
所以在我的流体模板中,我可以使用 {page.tx_mask_highlight_nav}
进行访问。
但我的打字错误菜单定义中需要这个。
我目前的做法是这样的:
lib.menu_main = COA
lib.menu_main {
10 = HMENU
10 {
entryLevel = 0
wrap = |
1 = TMENU
1 {
expAll = 1
NO.allWrap = <li>|</li>
NO.ATagTitle.field = abstract // description // title
NO.allWrap.override = <li class="menu-item--bold">|</li>
NO.allWrap.override.if {
isTrue.data = page:tx_mask_highlight_nav
}
ACT = 1
ACT.wrapItemAndSub = <li class="active">|</li>
ACT.ATagTitle.field = abstract // description // title
IFSUB = 1
IFSUB.wrapItemAndSub = <li>|</li>
IFSUB.ATagTitle.field = abstract // description // title
ACTIFSUB = 1
ACTIFSUB.wrapItemAndSub = <li class="active">|</li>
ACTIFSUB.ATagTitle.field = abstract // description // title
}
1 {
wrap = <ul class="dropdown menu menu--main" data-dropdown-menu>|</ul>
}
2 < .1
2 {
wrap = <ul class="menu vertical">|</ul>
}
3 < .2
4 < .3
5 < .4
}
}
我已经尝试了其他几种方法,例如:
NO.allWrap.override = <li class="menu-item--bold">|</li>
No.allWrap.override.if {
value = page:tx_mask_highlight_nav
equals = 1
}
但是没有用。也许我无法访问 page:tx_mask_highlight_nav
?
非常感谢您的帮助!
用字段替换数据。使用 NO.allWrap.override.if.isTrue.field = tx_mask_highlight_nav
完整的 TypoScript
lib.menu_main = COA
lib.menu_main {
10 = HMENU
10 {
entryLevel = 0
wrap = |
1 = TMENU
1 {
expAll = 1
NO.allWrap = <li>|</li>
NO.ATagTitle.field = abstract // description // title
NO.allWrap.override = <li class="menu-item--bold">|</li>
NO.allWrap.override.if.isTrue.field = tx_mask_highlight_nav
ACT = 1
ACT.wrapItemAndSub = <li class="active">|</li>
ACT.ATagTitle.field = abstract // description // title
IFSUB = 1
IFSUB.wrapItemAndSub = <li>|</li>
IFSUB.ATagTitle.field = abstract // description // title
ACTIFSUB = 1
ACTIFSUB.wrapItemAndSub = <li class="active">|</li>
ACTIFSUB.ATagTitle.field = abstract // description // title
}
1 {
wrap = <ul class="dropdown menu menu--main" data-dropdown-menu>|</ul>
}
2 < .1
2 {
wrap = <ul class="menu vertical">|</ul>
}
3 < .2
4 < .3
5 < .4
}
}