在打字稿中使用特殊字符作为 CASE 键
Using special characters as CASE keys in typoscript
我正在尝试通过 powermail 扩展程序向不同的收件人发送邮件,具体取决于用户在表单下拉列表中选择的值。 动态接收器 的这种做法在 powermail documentation 中进行了描述。基本上:
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 的 属性,不能有空格!没有更新!)
我简单地 'escaping' 尝试了带反斜杠的禁用字符,但没有用。有通过 stdWrap rawUrlEncode
转换 key.data
的想法,但也没有奏效。 Google出现了with this solution,但是不明白是怎么回事,没能成功使用
我该如何解决这个问题?非常感谢任何类型的提示!
我非常喜欢您的 rawUrlEncode 解决方案。你能在这里向我们提供你的解决方案吗?根据这个 online converter 结果应该是这样的:
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
也许对于每个 CASE,某些符号如“%”是不允许的。在这种情况下,您可以参考 "replacement" 函数。 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
我正在尝试通过 powermail 扩展程序向不同的收件人发送邮件,具体取决于用户在表单下拉列表中选择的值。 动态接收器 的这种做法在 powermail documentation 中进行了描述。基本上:
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 的 属性,不能有空格!没有更新!)
我简单地 'escaping' 尝试了带反斜杠的禁用字符,但没有用。有通过 stdWrap rawUrlEncode
转换 key.data
的想法,但也没有奏效。 Google出现了with this solution,但是不明白是怎么回事,没能成功使用
我该如何解决这个问题?非常感谢任何类型的提示!
我非常喜欢您的 rawUrlEncode 解决方案。你能在这里向我们提供你的解决方案吗?根据这个 online converter 结果应该是这样的:
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
也许对于每个 CASE,某些符号如“%”是不允许的。在这种情况下,您可以参考 "replacement" 函数。 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