我通常需要根据表格中选择的选择场的选择,将PowerMail形式发送给不同的接收器。我使用Typo3 7.6.x和PowerMail 3.3.0如何完成?
在 @alex-kellner的帮助下,在ext:powermail的SlackChannel中,我找到了一个非常简单的解决方案:
基本上需要2个步骤:
step1
选择字段中选项的值。您需要在选择字段中的选项中添加值。这可以通过将管道|
附加到您的选项中,然后添加值
MyRecieverEmail 1 | 1
MyRecieverEmail 2 | 2
MyRecieverEmail 3 | 3
除此之外,您还需要了解字段的标记/变量/单个字段名称。您可以在字段的extended
选项卡中找到该名称。
如果需要,您也可以将此字段提供一个"自有"的变量名称。该变量用{}
包裹,但您不会在步骤2
步骤2
现在您需要在设置中添加一些TS。
背景信息:基本上,这更改了形式的回收者:
plugin.tx_powermail.settings.setup.receiver.overwrite.email = TEXT
plugin.tx_powermail.settings.setup.receiver.overwrite.email.value = your@email.com
现在,您需要检查以表格选择WICH选项。这是通过全球条件完成的:
[globalString = GP:tx_powermail_pi1|field|yourVariableFieldname = 1]
其中 yourVariableFieldname
从字段中的 extended
选项卡中is ist单个字段名称,而 1
是第一个选项的值(myrecieveremail 1)
通过使用此ts,如果以表格选择了第一个选项 MyRecieverEmail 1
,则表格将发送到your@email.com:
[globalString = GP:tx_powermail_pi1|field|yourVariableFieldname = 1]
plugin.tx_powermail.settings.setup.receiver.overwrite.email = TEXT
plugin.tx_powermail.settings.setup.receiver.overwrite.email.value = your@email.com
[global]
您现在可以根据需要添加尽可能多的条件。完整的示例是:
[globalString = GP:tx_powermail_pi1|field|yourVariableFieldname = 1]
plugin.tx_powermail.settings.setup.receiver.overwrite.email = TEXT
plugin.tx_powermail.settings.setup.receiver.overwrite.email.value = yourfirst@email.com
[global]
[globalString = GP:tx_powermail_pi1|field|yourVariableFieldname = 2]
plugin.tx_powermail.settings.setup.receiver.overwrite.email = TEXT
plugin.tx_powermail.settings.setup.receiver.overwrite.email.value = yoursecond@email.com
[global]
[globalString = GP:tx_powermail_pi1|field|yourVariableFieldname = 3]
plugin.tx_powermail.settings.setup.receiver.overwrite.email = TEXT
plugin.tx_powermail.settings.setup.receiver.overwrite.email.value = yourthird@email.com
[global]
请注意,在您的typo3-install中使用字段名称{yourvariable fieldname}的每个字段都将负责此ts。如果您以多种形式完全使用此字段,这将很有用。如果您不希望这样做,则有2个选择可以避免这种情况:
仅将TS放在您表格所在的页面上。
您可以将其添加到您的全局条件:
&&[GlobalString = GP:TX_PowerMail_Pi1 |邮件|形式= 123]
其中 123
是您表格的ID。
这看起来像这样:
[globalString = GP:tx_powermail_pi1|field|yourVariableFieldname = 2] && [globalString = GP:tx_powermail_pi1|mail|form = 123]
自9.5之类的东西:
[traverse(request.getParsedBody(), 'tx_powermail_pi1/field/yourVariableFieldname') == 1 ]
应该有效
这对我有用:
[traverse(request.getParsedBody(), 'tx_powermail_pi1/field/yourVariableFieldname') == 1 ]
plugin.tx_powermail.settings.setup {
receiver.overwrite {
email.value = MYEMAIL
email = TEXT
}
}
[END]
[traverse(request.getParsedBody(), 'tx_powermail_pi1/field/yourVariableFieldname') == 2 ]
plugin.tx_powermail.settings.setup {
receiver.overwrite {
email.value = MYEMAIL2
email = TEXT
}
}
[END]