如果选中特定复选框,则在 Powermail 中输出其他文本

Output additional Text in Powermail if specific Checkbox is checked

所以这是我的问题:一旦在 powermail 中选中了特定的复选框,我就尝试输出额外的文本。

select字段包含多个选项,所有选项当然可以select,但是当检查字段1时,发件人应在邮件加上标准文本"Lorem ipsum"中具有标准文本,但是当该字段未被选中时,根本不应该有额外的输出。

我可以找到一个解决方案,根据 selection 为单个 selects / 下拉菜单更改文本,它就像一个魅力,但出于某种原因 multi-select 根本不起作用。我不明白为什么,也许有人可以提供帮助。

TS:

lib.serverex = CASE
lib.serverex {

    key.data = GP:tx_powermail_pi1|field|produktang|1
    key.intval = 1
    1 = TEXT
    1.value = Lorem Ipsum

   #Default
    default = TEXT
    default.value =
}

powermail 中的电子邮件如下所示:

Some standard text...

{f:cObject(typoscriptObjectPath:'lib.serverex', data:'{produktang}')}

表单内的checkbox配置(id:produktang):

first product | 1
second product | 2
third product | 3
fourth product | 4
fifth product | 5

无论输入 is/checked 框是什么它都会附加它,或者根本不发送附加文本。我可能在这里遗漏了一些东西。

提前致谢!

字段 {produktang} 的结果是一个数组(当然是因为它是一个复选框)。因此,您必须查明在您的案例中是否存在任何值为“2”的键(例如,如果您正在搜索产品 2)tx_powermail_pi1|field|produktang|1 == 2

我现在用一种技巧解决了它,因为我无法让它以不同的方式工作。 我做了什么:

我将电子邮件更改的特定产品移动到多选元素中的第一个位置。所以它的索引将为0。 接下来是检查数组位置 0 中的元素是否等于所需的产品,在我的例子中是 "firstProduct"。由于它位于第一个位置,因此如果选中 "firstProduct",它将始终为 "firstProduct",并且附加文本将为 "printed"。我将默认文本设置为空字符串,这样在其他情况下它都会保持空白。

代码如下:

    lib.serverex = CASE
    lib.serverex {
        key.data = GP:tx_powermail_pi1|field|produkt|0
        firstProduct = TEXT
        firstProduct.value = Lorem Ipsum

        #Default
        default = TEXT
        default.value =
    }

powermail里面Checkbox的配置:

    firstProduct
    secondProduct
    thirdProduct
    fourthProduct
    fifthProduct

以及电子邮件本身内部的代码:

    {f:cObject(typoscriptObjectPath:'lib.serverex', data:'{produkt}')}

它可能也可以用另一种方式工作,但我无法用另一种方式解决它。如果有人遇到我遇到的相同问题,希望这会有所帮助。