打字修改一个field:variable

Typoscript modify a field:variable

我有这个打字错误:

tt_content.gridelements_pi1.20.10.setup {

    3cols.outerWrap = <div>|</div>
    3cols.outerWrap.override.insertData = 1
    3cols.outerWrap.override = <div id="{field:tx_cewrap_id_input}" class="{field:tx_cewrap_class_input} {field:tx_cewrap_class_select}">|</div>
    3cols.outerWrap.override.if.isTrue.field = tx_cewrap_active
}

这确保围绕特定元素制作包装器。以下html作为例子生成:

<div id="" class="full-box full-box-features container pt-75,pb-75"></div>

如您所见,插入了一个逗号分隔的字符串 "tx_cewrap_class_select"。 {field:tx_cewrap_class_select} 部分:

pt-75,pb-75

但我希望逗号是 space 字符,因此 类 在 html

中有效

现在我知道 split 选项

但是我该如何修复代码,只需要以某种方式删除逗号!就是这样:)

提前感谢我可以使用的任何回复。

您可以用逗号分隔并用 space 连接,但在这种情况下,将逗号替换为 space:

可能更容易
10 = TEXT
10.replacement {
    1 {
       search = ,
       replace.char = 32
    }
}

这里是拆分的解决方案。为什么不使用应该很明显:

10 = TEXT
10.split {
    token = ,
    cObjNum = 1 || 2
    1.current = 1
    2.current = 1
    2.noTrimWrap = | ||
}

提示:
TEXT 上,您可以立即使用 stdWrap 函数,
在其他情况下,您可能需要明确的 .stdWrap:

10.stdWrap.replacement {

10.stdWrap.split {

要么将您的值准备到寄存器中供以后使用,要么将覆盖值拆分到 COA 中。如果您确定可能不需要其他逗号,您甚至可以在整个覆盖值上使用替换。

COA-解决方案:
(不要忘记 20 的 noTrimWrap,否则附加 类 时没有 space)

override.cObject = COA
override.cObject {
    10 = TEXT
    10.value <div id="{field:tx_cewrap_id_input}" class="{field:tx_cewrap_class_input} 
    10.insertData = 1

    20 = TEXT
    20.field = tx_cewrap_class_select
    20.replacement {
        1 {
           search = ,
           replace.char = 32
        }
        noTrimWrap= | ||
    }

    30 = TEXT
    30.value = ">|</div>
}