TypoScript:如果有多个项目,则有条件换行

TypoScript: conditional wrap if more than one item

嗯……我的TypoScript技术好像有点生疏了。

 lib.feld < styles.content.get
 lib.feld.select.orderBy = rand()
 lib.feld.select.select.where = colPos=11
 lib.feld.wrap = <div class="wrapper">|</div>

仅当 styles.content.get returns 所述 colPos 不止一项时,我才想添加包装器 div。

我尝试了以下两种变体:

lib.feld.wrap.if {
    isGreaterThan.numRows < styles.content.get
    isGreaterThan.numRows.select.where = colPos=11
    value = 1
}

lib.feld.wrap.if {
    isGreaterThan.numRows.table = tt_content
    isGreaterThan.numRows.select < styles.content.get.select
    isGreaterThan.numRows.select.where = colPos=11
    value = 1
}

在 numRows 之前还有一个额外的 stdWrap。 一切 returns 错误,即使应该有多个结果。

怎么了?

根据打字定义,我猜:

temp.feld < styles.content.get
temp.feld.select.where = colPos=11
temp.feld.select.orderBy = rand()
temp.feld.select.pidInList = 123

lib.feld < temp.feld
lib.feld.wrap = <div>|</div>
lib.feld.wrap.if {
    isGreaterThan.stdWrap.numRows < temp.feld
    value = 1
}

对于 inspecting/debuggung 的值 numRows 你可以使用这个:

lib.numRows = TEXT
lib.numRows.numRows < temp.feld
lib.numRows.wrap = numRows=[|]

你可以在流体中使用它

{f:cObject(typoscriptObjectPath:'lib.numRows')}

或输出的打字错误本身

page.3 < lib.numRows