在打字脚本中使用特殊字符作为CASE键



我正试图通过powermail扩展向不同的收件人发送邮件,具体取决于用户在表单下拉列表中选择的值。powermail文档中描述了动态接收器的这种做法。基本上:

receivers1.email = CASE
receivers1.email {
key.data = GP:tx_powermail_pi1|field|receiver
1 = TEXT
1.value = receivera@domain.org
default = TEXT
default.value = receiverb@domain.org
}

现在我面临以下问题:我的"receiver"值不是数字(如示例所示(,而是下拉列表中的文本值。其中一些包含空格,一些包含元音变音符(\äüß(。如果我尝试添加…

Not wörking = TEXT
Not wörking.value = anotheremail@nowhere.org

Typo3会抱怨,不会更新任何内容。(属性不好!您必须输入一个包含字符a-z、a-z和0-9的属性,不能有空格!没有更新任何内容(

我试着简单地用反斜杠"转义"被禁止的字符,但没有成功。有过通过stdWrap rawUrlEncode转换key.data的想法,但也没有成功。谷歌提出了这个解决方案,但我不明白发生了什么,无法成功使用。

我该怎么绕过这个?非常感谢你的任何暗示!

我非常喜欢您的rawUrlEncode解决方案。你能在这里为我们提供你的解决方案吗?根据这个在线转换器,结果应该是这样的:

key.data = GP:tx_powermail_pi1|field|receiver
key.stdWrap.rawUrlEncode = 1
Not%20w%C3%B6rking = TEXT
Not%20w%C3%B6rking.value = anotheremail@nowhere.org

也许对于每种情况,都不允许使用"%"之类的符号。在这种情况下,您可以参考"替换"功能。https://docs.typo3.org/typo3cms/TyposcriptReference/8.7/Functions/Replacement/Index.html#replacement

key.data = GP:tx_powermail_pi1|field|receiver
key.stdWrap.replacement {
10 {
search.char = 32
replace = _
}
// Add umlauts and other signs!
}
Not_wörking = TEXT
Not_wörking.value = anotheremail@nowhere.org

最新更新