EXT powermail
Empfänger per dropdown auswählen
Quellen
Aus der Doku zu powermail: Best Practice, Predefined Receiver
Zwar ein alter Beitrag, aber von dem Entwickler Alex Kellner erklärt: Empfänger per Dropdown im Formular wählen (für powermail v2)
Und noch ein Forumbeitrag, wo Alex Kellner ausführliche Hilfe leistet: Dynamische Emailadresse nach Länderauswahl
Getestet mit:
TYPO3 7.6
powermail 3.x
Beispiel
Dropdownfelder mit Text und Wert:
Bitte wählen...|
Auswahl 1 | A1
Auswahl 2 | A2
Powermail Feld: Empfänger Email
{f:cObject(typoscriptObjectPath:'lib.receiver')}
Mailadresse per TS festlegen
## Empfänger abhängig von der Auswahl
lib.receiver = CASE
lib.receiver {
key.data = GP:tx_powermail_pi1|field|variablenname
key.intval = 1
A1 = TEXT
A1.value = mail-01@domain.de
A2 = TEXT
A2.value = mail-02@domain.de
default = TEXT
default.value = mail@domain.de
}
# Absender Mailadresse abhängig von der Auswahl
plugin.tx_powermail.settings.setup.sender.overwrite.senderEmail < lib.receiver
Mailadresse von FE_Users holen
lib.receiver = CONTENT
lib.receiver {
table = fe_users
select {
# Seite mit FE_Users
pidInList = XYZ
andWhere {
data = GP:tx_powermail_pi1|field|variablenname
wrap = fe_users.uid=|
intval = 1
}
}
renderObj = TEXT
renderObj {
field = email
}
}
TS für die Anzeige der Benutzernamen und die Umwandlung von Benutzername zur E-Mail
#Grundlage ist, dass FE Users in der Datenbank mit eindeutigen Benutzernamen existieren.
#In einem Auswahlfeld lasse ich die Benutzernamen anzeigen (Abfrage über TypoScript). Dieses nehmen wir als Grundlage für eine Datenbankabfrage "getEmailFromUsername" (auch über TypoScript).
#Auswahl der Empfänger im Formular:
#https://s3.amazonaws.com/fvd-data/notes/262407/1411122534-NoDw6F/screen.png
#Anzeige der Empfänger auf der Bestätigungsseite:
#https://s3.amazonaws.com/fvd-data/notes/262407/1411122606-dL36aT/screen.png
#Das Feld Receiver hat den Marker {receiver} und bei "Create from TypoScript" lib.receiver
#https://s3.amazonaws.com/fvd-data/notes/262407/1411122708-ftrCDR/screen.png
#Das TypoScript für die Anzeige der Benutzernamen und die Umwandlung von Benutzername zur E-Mail:
# Auswahl der Empfänger
lib.receiver = COA
lib.receiver {
10 = TEXT
10.value = Bitte wählen|[\n]
20 = CONTENT
20 {
table = fe_users
select.pidInList = 104
renderObj = COA
renderObj {
10 = TEXT
10.field = username
10.wrap = |[\n]
}
}
}
# Email von Benutzername für Versand
lib.emailFromUsername = CONTENT
lib.emailFromUsername {
table = fe_users
select {
pidInList = 104
andWhere {
field = 0
wrap = username="|"
htmlSpecialChars = 1
}
}
renderObj = TEXT
renderObj {
field = email
}
}
#Im Feld Empfänger greift Powermail auf lib.emailFromUsername zu und übergibt den Wert von {receiver}:
#https://s3.amazonaws.com/fvd-data/notes/262407/1411123269-VcDOUT/screen.png
{f:cObject(typoscriptObjectPath:'lib.emailFromUsername',data:receiver)}
#Quelle: https://www.typo3.net/forum/thematik/zeige/thema/112554/