6

フォーム内の選択フィールドの選択に応じて、powermail フォームを異なる受信者に送信する必要があることがよくあります。TYPO3 7.6.x と Powermail 3.3.0 を使用していますが、これを行うにはどうすればよいですか?

4

3 に答える 3

9

EXT:powermail の slackchannel で @alex-kellner の助けを借りて、非常に簡単な解決策を見つけました。

基本的に2つのステップが必要です:

ステップ1

選択フィールドのオプションの値。選択フィールドのオプションに値を追加する必要があります。これは|、オプションにパイプを追加し、値を追加するだけで実行できます

MyRecieverEmail 1 | 1

MyRecieverEmail 2 | 2

MyRecieverEmail 3 | 3

それに加えて、フィールドのマーカー/変数/個々のフィールド名を知る必要があります。extendedフィールドのタブでその名前を見つけることができます。

必要に応じて、このフィールドに「独自の」変数名を付けることもできます。変数はラップされて{}いますが、ステップ 2 ではこれらを使用しません。

ステップ2

setupfield に TS を追加する必要があります。

背景情報: 基本的に、これはフォームの受信者を変更します:

plugin.tx_powermail.settings.setup.receiver.overwrite.email = TEXT
plugin.tx_powermail.settings.setup.receiver.overwrite.email.value = your@email.com

ここで、フォームでどのオプションが選択されたかを確認する必要があります。これは、グローバル条件によって行われます。

[globalString = GP:tx_powermail_pi1|field|yourVariableFieldname = 1]

フィールド内のタブyourVariableFieldnameからの個々のフィールド名であり、最初のオプションの値です ( MyRecieverEmail 1)extended1

この TS を使用すると、フォームで最初のオプションが選択されている場合、フォームは your@email.com に送信されますMyRecieverEmail 1

[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]

これは、この TS が考慮される TYPO3-Install のフィールド名 {yourVariableFieldname} を持つすべてのフィールドを担当することに注意してください。これは、複数のフォームでこのフィールドをまったく同じように使用する場合に役立ちます。これを担当させたくない場合は、これを回避するための 2 つのオプションがあります。

  1. TS は、フォームが配置されているページにのみ配置してください。

  2. これをグローバル条件に追加できます。

    && [globalString = GP:tx_powermail_pi1|メール|フォーム = 123]

123フォームの ID はどこにありますか。

これは次のようになります。

[globalString = GP:tx_powermail_pi1|field|yourVariableFieldname = 2] && [globalString = GP:tx_powermail_pi1|mail|form = 123]
于 2016-12-15T07:09:45.037 に答える