У меня часто есть требование отправить форму powermail для разных приемников в зависимости от выбора поля выбора в форме. Im с использованием TYPO3 7.6.x и Powermail 3.3.0 Как это можно сделать?Отправить TYPO3 EXT: почта powermail для разных приемников в зависимости от выбора в выпадающем списке
ответ
С помощью @ 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 варианта, чтобы избежать этого:
единственное место TS на странице, где находится ваша форма.
Вы можете добавить это к глобальному условию:
& & [globalString = GP: tx_powermail_pi1 | почта | форма = 123]
Где 123
это идентификатор формы.
Это будет выглядеть следующим образом:
[globalString = GP:tx_powermail_pi1|field|yourVariableFieldname = 2] && [globalString = GP:tx_powermail_pi1|mail|form = 123]
Ничто в дополнение - ТНХ для заметки –