根据 field:title 动态换行
Dynamic wrapping according to field:title
编辑:
在开始之前,请考虑在我的原始 post 中,我用来说明问题的条件令人困惑。我现在用### 标记了它。这只是为了表明我需要一个类似 if 条件的解决方案。但是,带有方括号 [] 的 if 条件此时在打字错误中不起作用。请参阅下面的解决方案,其中使用 override.if。这工作得很好!
在用错字创建的 tmenu 中,我想根据项目所属页面的标题以不同方式包装项目。我使用 Foundation 作为元素的宽度,因此 classe large-4。现在基本的换行 (wrapitemandsub) 没问题,但是有一页的标题更长,我需要使用 class 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.html
https://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
编辑: 在开始之前,请考虑在我的原始 post 中,我用来说明问题的条件令人困惑。我现在用### 标记了它。这只是为了表明我需要一个类似 if 条件的解决方案。但是,带有方括号 [] 的 if 条件此时在打字错误中不起作用。请参阅下面的解决方案,其中使用 override.if。这工作得很好!
在用错字创建的 tmenu 中,我想根据项目所属页面的标题以不同方式包装项目。我使用 Foundation 作为元素的宽度,因此 classe large-4。现在基本的换行 (wrapitemandsub) 没问题,但是有一页的标题更长,我需要使用 class 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.html https://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