2016-12-15 3 views
4

У меня часто есть требование отправить форму powermail для разных приемников в зависимости от выбора поля выбора в форме. Im с использованием TYPO3 7.6.x и Powermail 3.3.0 Как это можно сделать?Отправить TYPO3 EXT: почта powermail для разных приемников в зависимости от выбора в выпадающем списке

ответ

7

С помощью @ Alex-Келлнером в slackchannel из EXT: PowerMail я нашел довольно простое решение для этого:

В основном есть 2 шага необходимы:

Step1

Значения параметров в поле выбора. Вам нужно добавить значения в свою опцию в поле выбора. Это может быть сделано путем добавления трубы | к вашему выбору и просто добавить значение

MyRecieverEmail 1 | 1 

MyRecieverEmail 2 | 2 

MyRecieverEmail 3 | 3 

В дополнении к этому, вы должны знать, маркер/переменный/индивидуальный имя_поль вашего поля. Вы можете найти это имя на вкладке extended вашего поля.

Вы также можете указать это поле как «собственное» имя переменной, если это необходимо. Переменная обернут {}, но не это в шаге 2

Шаг 2

Теперь вам нужно добавить некоторые TS в вашем setupfield.

Справочная информация: В основном это изменяет приемник для формы:

plugin.tx_powermail.settings.setup.receiver.overwrite.email = TEXT 
plugin.tx_powermail.settings.setup.receiver.overwrite.email.value = [email protected] 

Теперь вам нужно проверить опцию Wich была выбрана в форме. Это делается с помощью глобального состояния:

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

Где yourVariableFieldname IST индивидуального имя_поля на вкладке extended в поле и 1 это значение первого варианта (MyRecieverEmail 1)

При использовании данной ТС, форма будет отправить [email protected], если первый вариант 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 = [email protected] 
[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 = [email protected] 
[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 = [email protected] 
[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 = [email protected] 
[global] 

Пожалуйста, обрати внимание, что это будет отвечать за каждое поле с имя_полем {yourVariableFieldname} в TYPO3-установке, где это ТС учитывается. Это может быть полезно, если вы используете это поле точно так же, как в нескольких формах. Если вы не хотите, чтобы это заведовать у вас есть 2 варианта, чтобы избежать этого:

  1. единственное место TS на странице, где находится ваша форма.

  2. Вы можете добавить это к глобальному условию:

    & & [globalString = GP: tx_powermail_pi1 | почта | форма = 123]

Где 123 это идентификатор формы.

Это будет выглядеть следующим образом:

[globalString = GP:tx_powermail_pi1|field|yourVariableFieldname = 2] && [globalString = GP:tx_powermail_pi1|mail|form = 123] 
+0

Ничто в дополнение - ТНХ для заметки –