编辑:在开始之前,请考虑一下,在我的原始帖子中,我用于说明问题的条件令人困惑。我现在用###标记了它。这只是为了表明我需要一个像解决方案这样的 if 条件。但是,带有括号 [] 的 if 条件在拼写中的这一点不起作用。请参阅下面的解决方案,其中使用 override.if。这工作得很好!
在用排版创建的 tmenu 中,我想根据它们所属页面的标题以不同的方式包装项目。我使用Foundation作为元素的宽度,因此为类大-4。现在基本的包装(wrapitemandsub)没有问题,但是有一个页面的标题更长,我需要使用类 large-8。在下面的代码中,我写了一个带有无效表达式的条件,只是为了演示它应该如何表现。
这是导航的脚本:
lib.content_menu = COA
lib.content_menu {
1 = HMENU
1 {
entryLevel = 0
1 = TMENU
1 {
expAll = 1
NO {
### [current pagetitle == somevalue]
wrapItemAndSub = <li class="columns small-8 large-8 active">|</li>wrap
### [ELSE]
wrapItemAndSub = <li class="columns small-4 large-4">|</li>
### [END]
}
ACT = 1
ACT {
wrapItemAndSub = <li class="columns small-4 large-4 active">|</li>
}
CUR = 1
CUR < .ACT
IFSUB = 1
IFSUB {
ATagParams = onclick='return false;'
wrapItemAndSub = <li class="columns small-4 large-4">|</li>
}
ACTIFSUB = 1
ACTIFSUB {
ATagParams = onclick='return false;'
wrapItemAndSub = <li class="columns small-4 large-4 active">|</li>
}
CURIFSUB = 1
CURIFSUB < .ACTIFSUB
}
2 = TMENU
2 {
wrap = <ul class="menu vertical">|</ul>
NO {
wrapItemAndSub = <li>|</li>
}
CUR = 1
CUR {
wrapItemAndSub = <li class="active">|</li>
}
}
}
}
谁能帮我这个?:)
在您的上下文中,您可以使用 .if 或 .override - 在 TSRef 中了解有关它们的更多信息:https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/If/Index.htmlhttps://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Stdwrap/Index.html#override
像这样尝试:
wrapItemAndSub = <li class="columns small-4 large-4">|</li>
wrapItemAndSub.override = <li class="columns small-8 large-8 active">|</li>
wrapItemAndSub.override.if.value = titletocheck
wrapItemAndSub.override.if.equals.field = title