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

Typo3 如果选中特定复选框,则在Powermail中输出其他文本,typo3,typoscript,typo3-7.6.x,powermail,Typo3,Typoscript,Typo3 7.6.x,Powermail,因此,我的问题是:在powermail中选中特定复选框后,我试图输出额外的文本 “选择”字段包含多个选项,当然所有选项都可以选择,但当选中字段1时,发件人的邮件中应该有标准文本加上“Lorem ipsum”,但如果未选中该字段,则不应该有任何其他输出 我可以找到一个解决方案,根据单个选择/下拉菜单的选择来改变文本,它就像一个符咒一样工作,但出于某种原因,多选根本不起作用。我不明白为什么,也许有人能帮上忙 TS: powermail中的电子邮件如下所示: Some standard text...

因此,我的问题是:在powermail中选中特定复选框后,我试图输出额外的文本

“选择”字段包含多个选项,当然所有选项都可以选择,但当选中字段1时,发件人的邮件中应该有标准文本加上“Lorem ipsum”,但如果未选中该字段,则不应该有任何其他输出

我可以找到一个解决方案,根据单个选择/下拉菜单的选择来改变文本,它就像一个符咒一样工作,但出于某种原因,多选根本不起作用。我不明白为什么,也许有人能帮上忙

TS:

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

Some standard text...

{f:cObject(typoscriptObjectPath:'lib.serverex', data:'{produktang}')}
表单中的复选框配置(id:produktang):

无论输入是什么/复选框是什么,它都会附加它,或者根本不发送额外的文本。我可能遗漏了什么


提前谢谢

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

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

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

我将电子邮件更改的特定产品移动到multiselect元素中的第一个位置。所以它的索引是0。 下一件事是检查数组位置0中的元素是否等于所需的乘积,在我的例子中是“firstProduct”。由于它位于第一个位置,如果选中“firstProduct”,则它将始终为“firstProduct”,并且附加文本将被“打印”。我将默认文本设置为空字符串,以便在其他情况下保持空白

代码如下:

    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中复选框的配置:

    firstProduct
    secondProduct
    thirdProduct
    fourthProduct
    fifthProduct
以及电子邮件内部的代码:

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

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

我现在用某种技巧解决了这个问题,因为我无法以不同的方式使它工作。 我所做的:

我将电子邮件更改的特定产品移动到multiselect元素中的第一个位置。所以它的索引是0。 下一件事是检查数组位置0中的元素是否等于所需的乘积,在我的例子中是“firstProduct”。由于它位于第一个位置,如果选中“firstProduct”,则它将始终为“firstProduct”,并且附加文本将被“打印”。我将默认文本设置为空字符串,以便在其他情况下保持空白

代码如下:

    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中复选框的配置:

    firstProduct
    secondProduct
    thirdProduct
    fourthProduct
    fifthProduct
以及电子邮件内部的代码:

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

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

首先感谢您的快速回复:)我认为“tx_powermail_pi1 | field | produktang | 1”中附加的“1”会为字段选择数组的索引1。看来我还不了解整个概念。无论如何如果我比较(1==2),那么如果产品2被检查,比如你上面提到的,它仍然不会给出文本。。。也许缺陷在我的代码中的其他地方。。。我会检查所有的东西并做进一步的尝试。好吧,我已经尝试了很多东西,包括你的建议,但仍然不起作用。它甚至不再给出默认文本。有人有想法吗?我需要提供其他信息吗?首先感谢您的快速回复:)我认为“tx_powermail_pi1 | field | produktang | 1”中附加的“1”会为字段选择数组的索引1。看来我还不了解整个概念。无论如何如果我比较(1==2),那么如果产品2被检查,比如你上面提到的,它仍然不会给出文本。。。也许缺陷在我的代码中的其他地方。。。我会检查所有的东西并做进一步的尝试。好吧,我已经尝试了很多东西,包括你的建议,但仍然不起作用。它甚至不再给出默认文本。有人有想法吗?我是否需要提供其他信息?