TYPO3 Typo脚本菜单:隐藏元素条件
问题描述:
这是我的Typo脚本菜单:TYPO3 Typo脚本菜单:隐藏元素条件
page.10.variables {
menue = HMENU
menue {
#special = directory
#special.value = 17
wrap = <div id="mobile-header"><div class="bar"></div></div><div class="menu-collapsed"><div id="navigation"><nav class="nav"><ul>|</ul></nav></div></div>
1 = TMENU
1.expAll=1
1 {
NO {
wrapItemAndSub = <li>|</li>
stdWrap.cObject = TEXT
stdWrap.cObject.field = subtitle // title
ATagBeforeWrap = 1
# linkWrap = |<span class="underline"></span>
ATagParams=class="navi"
}
RO = 1
RO {
wrapItemAndSub = <li>|</li>
stdWrap.cObject = TEXT
stdWrap.cObject.field = subtitle // title
ATagBeforeWrap = 1
# linkWrap = |<span class="underline"></span>
ATagParams=class="navi"
}
ACT = 1
ACT {
wrapItemAndSub = <li> |</li>
stdWrap.cObject = TEXT
stdWrap.cObject.field = subtitle // title
ATagBeforeWrap = 1
# linkWrap = |<span class="underline"></span>
ATagParams=class="navi_active"
}
IFSUB = 1
IFSUB {
wrapItemAndSub = <li> |</li>
stdWrap.cObject = TEXT
stdWrap.cObject.field = subtitle // title
ATagBeforeWrap = 1
linkWrap = |<i class="fa fa-angle-down" aria-hidden="true"></i>
ATagParams=class="navi sub"
}
ACTIFSUB < .IFSUB
SPC = 1
SPC {
doNotLinkIt = 1
doNotShowLink = 1
allWrap = <div class="space"></div>
}
}
2 < .1
2.wrap = <ul class="nav_list1 subnavi resp">|</ul>
2.NO.wrapItemAndSub = <li> |</li>
2.ACT.wrapItemAndSub = <li> |</li>
3 < .2
3.wrap = <ul id="subsubnavi">|</ul>
}
menue2 = HMENU
menue2 {
special = directory
special.value = 62
1 = TMENU
1.expAll=1
1 {
wrap = <div class="box-menue2"><nav class="nav"><ul class="profile_tab">|</ul></nav></div>
NO {
wrapItemAndSub = <li>|</li>
stdWrap.cObject = TEXT
stdWrap.cObject.field = subtitle // title
ATagBeforeWrap = 1
ATagParams=class="navi2"
stdWrap.dataWrap =<i class="fa fa-{field:tx_iconfont_icon}" aria-hidden="true"></i>
stdWrap.dataWrap.insertData=1
}
RO = 1
RO {
wrapItemAndSub = <li>|</li>
stdWrap.cObject = TEXT
stdWrap.cObject.field = subtitle // title
ATagBeforeWrap = 1
stdWrap.dataWrap =<i class="fa fa-{field:tx_iconfont_icon}" aria-hidden="true"></i>
stdWrap.dataWrap.insertData=1
ATagParams=class="navi2"
}
ACT = 1
ACT {
wrapItemAndSub = <li> |</li>
stdWrap.cObject = TEXT
stdWrap.cObject.field = subtitle // title
ATagBeforeWrap = 1
stdWrap.dataWrap =<i class="fa fa-{field:tx_iconfont_icon}" aria-hidden="true"></i>
stdWrap.dataWrap.insertData=1
ATagParams=class="navi2_active"
}
IFSUB = 1
IFSUB {
wrapItemAndSub = <li> |</li>
stdWrap.cObject = TEXT
stdWrap.cObject.field = subtitle // title
ATagBeforeWrap = 1
linkWrap = |<i class="fa fa-angle-down" aria-hidden="true"></i>
ATagParams=class="navi2 sub"
}
ACTIFSUB < .IFSUB
SPC = 1
SPC {
doNotLinkIt = 1
doNotShowLink = 1
allWrap = <div class="space"></div>
}
}
2 < .1
2.wrap = <ul class="nav_list">|</ul>
2.NO.wrapItemAndSub = <li> |</li>
2.ACT.wrapItemAndSub = <li> |</li>
3 < .2
3.wrap = <ul id="subsubnavi">|</ul>
}
menue3 = HMENU
menue3 {
special = directory
special.value = 57
1 = TMENU
1.expAll=1
1 {
wrap = <div class="box-menue3"><nav class="nav3"><ul class="profile_tab">|</ul></nav></div>
NO {
wrapItemAndSub = <li>|</li>
stdWrap.cObject = TEXT
stdWrap.cObject.field = subtitle // title
ATagBeforeWrap = 1
ATagParams=class="navi2"
stdWrap.dataWrap =<i class="fa fa-{field:tx_iconfont_icon}" aria-hidden="true"></i>
stdWrap.dataWrap.insertData=1
}
RO = 1
RO {
wrapItemAndSub = <li>|</li>
stdWrap.cObject = TEXT
stdWrap.cObject.field = subtitle // title
ATagBeforeWrap = 1
stdWrap.dataWrap =<i class="fa fa-{field:tx_iconfont_icon}" aria-hidden="true"></i>
stdWrap.dataWrap.insertData=1
ATagParams=class="navi2"
}
ACT = 1
ACT {
wrapItemAndSub = <li> |</li>
stdWrap.cObject = TEXT
stdWrap.cObject.field = subtitle // title
ATagBeforeWrap = 1
stdWrap.dataWrap =<i class="fa fa-{field:tx_iconfont_icon}" aria-hidden="true"></i>
stdWrap.dataWrap.insertData=1
ATagParams=class="navi2_active"
}
IFSUB = 1
IFSUB {
wrapItemAndSub = <li> |</li>
stdWrap.cObject = TEXT
stdWrap.cObject.field = subtitle // title
ATagBeforeWrap = 1
linkWrap = |
ATagParams=class="navi sub"
}
ACTIFSUB < .IFSUB
SPC = 1
SPC {
doNotLinkIt = 1
doNotShowLink = 1
allWrap = <div class="space"></div>
}
}
2 < .1
2.wrap = <ul class="nav_list">|</ul>
2.NO.wrapItemAndSub = <li> |</li>
2.ACT.wrapItemAndSub = <li> |</li>
3 < .2
3.wrap = <ul id="subsubnavi">|</ul>
}
FOO2 = HMENU
FOO2{
special = directory
special.value = 18
1 = TMENU
1 {
NO {
wrapItemAndSub = | |*| | |*| |
}
}
}
}
我需要显示在状态菜单中的一些子元素。如果db == 0中的某个字段显示一个菜单元素,则显示第二个。可能吗 ?我希望你明白我想要的。有人能帮助我吗?
答
'条件'在输入错误方面并不是唯一的。
有'条件'打开和关闭打字稿的部分。
[global]
这些条件通常取决于页面调用的环境。
你想要一个依赖于数据库值的条件,所以你需要使用stdWrap函数来评估数据值。
除了具有多个选项的大功能if
有override
,ifEmpty
和ifBlank
。
要么你写在你的COA替代品和有自己的if
包裹每个部分或者你写的,默认的配置您的TypoScript做这是对的,并切换与自己if
包装的override
。
对于一个干净的错字脚本,您可以使用temp
对象,您可以复制并保持您的使用清洁。
实施例:
temp.alternative1 = COA
temp.alternative1 {
:
}
temp.alternative2 = COA
temp.alternative2 {
:
}
10 = HMENU
10 {
1 = TMENU
1 {
:
before < temp.alternative1
before.override < temp.alternative2
before.override.if.isfalse.field = my_field
}
}